VB.NetはPDUにおけるUCS 2符号化と復号化を実現する
UCS 2の符号化は2バイトのUnicode符号化である、Unicode符号化はUCS 2の他にUCS 4規格、VBがある.Netで漢字をUCS 2に変換する符号化方法は簡単で、直接Systemを呼び出すことができる.Text.Encoding.Unicode.GetBytes法はSystemのように実現できる.Text.Encoding.Unicode.GetBytes(「程」)は「程」のUCS 2符号化0 B 7 Aを得ることができるが、PDUではUCS 2符号化のバイト順とこのようにバイト順をとるのとは逆であり、PDUの順は7 A 0 Bであるため、Systemも必要である.Text.Encoding.Unicode.GetBytesが取得したバイトの位置を交換します.具体的なコードは以下の通りです.
'UCS2
Public Function Encoder_UCS2(ByVal s As String) As Byte()
' Unicode Byte
Dim arr() As Byte = System.Text.Encoding.Unicode.GetBytes(s)
Dim tmp As Byte
'
For xx As Integer = 0 To arr.Length - 2 Step 2
tmp = arr(xx)
arr(xx) = arr(xx + 1)
arr(xx + 1) = tmp
Next
Encoder_UCS2 = arr
Erase arr
End Function
'UCS2
Public Function Decoder_UCS2(ByVal s As Byte()) As String
Dim tmp As Byte
'
For xx As Integer = 0 To s.Length - 2 Step 2
tmp = s(xx)
s(xx) = s(xx + 1)
s(xx + 1) = tmp
Next
Decoder_UCS2 = System.Text.Encoding.Unicode.GetString(s)
End Function