いつも、参考にさせていただいています
早速ですが、質問させていただきます
vb2005 windows2000で開発しています
dim str as string
dim Encs() as byte
str="文字列" &vbcrlf &"文字列"&vbcrlf&"文字列"&vbcrlf&"文字列"& vbcrlf
EncS = System.Text.Encoding.GetEncoding(932).GetBytes(str)
として、文字列をバイト配列に置き換えているのですが
配列の中身をデバッグで見てみると改行コードが消えています
strの中身をテキストボックスで表示させるとちゃんと改行されているのですが、、
なにか方法がまずいのでしょうか?
よろしくお願いします
確認の方法は,どういう方法を採ったのですか?
簡単なテストプログラムを作ってみましたが,改行コードは残っています。
[プログラム]
Imports System.Text
Module Module1
Const s As String = "文字列" & vbCrLf & "文字列" & vbCrLf & "文字列" & vbCrLf & "文字列" & vbCrLf
ReadOnly enc As Encoding = Encoding.GetEncoding("Shift_JIS")
Sub Main()
Console.WriteLine(BitConverter.ToString(enc.GetBytes(s)))
End Sub
End Module
[出力]
95-B6-8E-9A-97-F1-0D-0A-95-B6-8E-9A-97-F1-0D-0A-95-B6-8E-9A-97-F1-0D-0A-95-B6-8E-9A-97-F1-0D-0A
> 配列の中身をデバッグで見てみると改行コードが消えています
そうですか?
当方では、改行コードである 13, 10 (16進数表記では &HD, &HA)が現れますけれども。
http://www.vb-user.net/junk/replySamples/2009.01.29.11.36/200901_09010042.png
> なにか方法がまずいのでしょうか?
どのような方法でデバッグしていますか?
可能であれば、デバッグ時の画面イメージを掲載できませんか?
ところで、掲示板登校時のミスとは思いますが、「vbcrlf&」はマズイです。
「vbcrlf &」とスペースを空けてください。
スペースを空けないと、文字列連結演算子 & の意味では無く、
Long を表す型文字 & の意味になってしまうため、エラーとなります。
(「vbCrLf$&」なら通るけど…)
それから、str という変数名は改名した方が良いかと思います。
予約語では無いので、文法的には問題無いのですが、
VB 組み込みの「Str 関数」と競合する名前ですから。