改行コードをバイト配列にする


未検量  2009-01-29 19:16:57  No: 141385

いつも、参考にさせていただいています
早速ですが、質問させていただきます

vb2005  windows2000で開発しています

dim str as string
dim Encs() as byte

str="文字列" &vbcrlf &"文字列"&vbcrlf&"文字列"&vbcrlf&"文字列"& vbcrlf

EncS = System.Text.Encoding.GetEncoding(932).GetBytes(str)

として、文字列をバイト配列に置き換えているのですが
配列の中身をデバッグで見てみると改行コードが消えています

strの中身をテキストボックスで表示させるとちゃんと改行されているのですが、、

なにか方法がまずいのでしょうか?
よろしくお願いします


YuO  2009-01-29 20:29:49  No: 141386

確認の方法は,どういう方法を採ったのですか?

簡単なテストプログラムを作ってみましたが,改行コードは残っています。

[プログラム]
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


魔界の仮面弁士  2009-01-29 20:41:18  No: 141387

> 配列の中身をデバッグで見てみると改行コードが消えています
そうですか?
当方では、改行コードである 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 関数」と競合する名前ですから。


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




  


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