HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 文字列操作 Tips メニュー

06.指定した文字のANSI文字コードを取得するには

 
UPDATE:2007/12/06    
 



PowerShellで指定した文字のANSI文字コードを取得するには、指定した文字(char型)を取得して、バイト値に変換する必要があります。

[byte][char]"ANSI文字コードを取得したい文字"

と入力することで、ANSI文字コードを取得することができます。

sample1

PS C:\Work> $a = [byte][char]"a"
PS C:\Work> $a
97

ここからは sample1 についての説明です。

通常、 $a = "文字"と書くと、$aはString型となります。(sample2)

sample2

PS C:\Work> $a = "a"
PS C:\Work> $a.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object

ANSIコードはバイト値として取得する必要がありますが、String型を直接バイト値に変換することはできません。
そこで Char型にキャストをしてから、バイト値に変換(キャスト)する必要があります。

Char型にキャストするには、キャストしたい値の前に[char]を付けます。
キャストした値の型を GetType() メソッドで調べてみると、Charになっているのを確認することができます。(sample3)

sample3

PS C:\Work> $a = [char]"a"
PS C:\Work> $a.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Char System.ValueType

Byte型にキャストするには、同様にして[byte]を付加します。
GetType() メソッドで調べるとByteになっているのがわかります。(sample4)

このようにして、調べたい文字を Char型にキャスト → Byte型にキャストすることでANSIコードを取得することができます。

sample4

PS C:\Work> $a = [byte][char]"a"
PS C:\Work> $a.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Byte System.ValueType