現在VB6のソフトをVB2005に移植してまして
chrBの移植もしているのですが、まず
VB6で値を確認して比較しているのですが
1.VB6で
o = ChrB(130) + ChrB(0) + ChrB(0)
だと”?”なのですが
o = ChrB(130) + ChrB(0) + ChrB(0) + ChrB(0)
が”?┌”になるのですがこれはなぜなのでしょうか?
2.VB2005でChrBを下記のような関数で作成したのですが
Public Function ChrB(ByVal strValue As Byte) As String
Dim a As String
Dim b(1) As Byte
b(0) = strValue
a = System.Text.Encoding.GetEncoding("Shift_JIS").GetChars(b)
Return a
End Function
CharB(130)の値がVB6では”?”なのが”ロ”になります。
またo = ChrB(130) + ChrB(0) + ChrB(0) + ChrB(0)の計算は
”ロ”になります。
根本的に思い違いをしてそうなのですが
誰かアドバイスをお願いいたします。
イミディエイトウインドウのサポート文字コードが
vb6がshift-jisで
.NETだとunicodeだからでは?
確認方法を変更してみたらどうですか?
書き出すとか
返信遅くなりました。
会社でインターネットにフィルターをかけられてしまったため見れなくなってしまいました。
そうなんですか?
確認方法を変えるにはどうすればよいのでしょうか?
書き出すというのはファイルに書き出すということでしょうか?
ちなみに現状の確認方法は
カーソルをあてて1つずつ値を確認していました。
教えてもらったことを参考にもう一度チェックしてみます。
ありがとうございます。
ツイート | ![]() |