以前、VB(6.0)でソフトを作っていました。
そして、最近、VB.NETでソフトを作ろうとしていますが、
VB.NETでは、ChrB関数やChrB$関数がないことを知り、困っています。
VB.NETで、ChrB関数やChrB$関数と同じ機能を実現する方法を教えて下さい。
VB6 の ChrB のように「String型として返す」事はできません。
VB6 の String型には、(文字列ではなく)バイナリを格納する事が
できましたが、.NET の String には、文字列しか格納できないからです。
ただ、Byte 配列として返すことであれば可能です。
たとえば、
'VB6
Dim bin() As Byte
bin = ChrB(&HCE) & ChrB(&HB2) & ChrB(&HE7) & ChrB(&H89) & ChrB(&H88)
というコードは、
'VB.NET
Dim bin() As Byte = {&HCE, &HB2, &HE7, &H89, &H88}
のように書き換えることができます。
そして、そのByte配列を、(任意の文字コードの)文字列に戻す際には、
Encoding クラスを使う事ができます。
たとえば、上記の bin を、UTF-8 の文字列として解釈するなら、
Dim S As String = System.Text.Encoding.UTF8.GetString(bin)
という感じですね。
ツイート | ![]() |