VB.NETでChrB関数の機能を実現するには?


ハル  2006-06-10 02:26:00  No: 131782

以前、VB(6.0)でソフトを作っていました。
そして、最近、VB.NETでソフトを作ろうとしていますが、
VB.NETでは、ChrB関数やChrB$関数がないことを知り、困っています。
VB.NETで、ChrB関数やChrB$関数と同じ機能を実現する方法を教えて下さい。


魔界の仮面弁士  2006-06-10 02:44:37  No: 131783

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)
という感じですね。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加