• 締切済み

JISコードにエンコードすると、半角カタカナが全角になってしまう

VB2005を使っています。 本を参考に「JISコードに変換する」コードを 記述してみましたが、どうも半角カタカナが全角になってしまうようです。 以下のようなコードです、 ご存知の方、よろしくお願いいたします。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '元の文字列 TextBox1.Text = "コネコ" '←ここの「コネコ」は半角で。 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim TextFile As IO.StreamWriter Dim Data() As Byte 'JISコードに変換 Data = Encoding.GetEncoding("iso-2022-jp").GetBytes(TextBox1.Text) 'ファイルに文字列を書き込む TextFile = IO.File.AppendText("C:\TEST.TXT") TextFile.Write(ChgString(Data)) TextFile.Close() MsgBox("osimai") End Sub Private Function ChgString(ByVal bytString As Byte()) As String Dim intCnt As Integer ChgString = "" For intCnt = 0 To UBound(bytString) ChgString &= Chr(bytString(intCnt)) Next End Function

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

> Data = Encoding.GetEncoding("iso-2022-jp").GetBytes(TextBox1.Text) iso-2022-jp には半角カナは定義されないですよ。 そのため自動的に変換されたのでは? ISO-2022-JP - Wikipedia http://ja.wikipedia.org/wiki/ISO-2022-JP 文字集合としてJIS X 0201のC0集合(制御文字)、JIS X 0201のラテン文字集合、ISO 646の国際基準版図形文字、JIS X 0208の1978年版(JIS C 6226-1978)と1983年および1990年版が利用できる。 JIS X 0201の片仮名文字集合は利用できない。

関連するQ&A