- 締切済み
Console.writeLineで文字化け
Console.writeLineで全角文字列が1000戸ぐらい続くStringを出力する場合は文字化けしませんが、半角が1字でも混じると文字化けします。たとえば以下のようなコードです。 line = "アああああああああ【中略】あああああああああああああ" Console.WriteLine(line) 出力結果のところどころに「ああ・あああ」となっている場所があります。なんとなかならないでしょうか? Visual Studio 2003 / 2008 Visual Basic Windows XP
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chibita_papa
- ベストアンサー率60% (127/209)
再現できました。 どうも、1020バイトと1021バイト目に2バイト文字が入ると 文字化けするようですね。仕様でしょう 多分、Console.WriteLineは1020バイトづつ吐き出してくっつけて表示 を繰り返しているのだと思います。 試しに1020バイト目に1バイト文字を書くと文字化けは起きません。 これだと文字化けは起きない Dim line As String = "a" For i As Integer = 0 To 509 line &= "い" Next line &= "aい" Console.WriteLine(line) Using sw As New IO.StreamWriter("g:\あああ.txt", False, System.Text.Encoding.Default) sw.Write(line) End Using
お礼
どうも。Visual Studioのコンソールはだめってことですね。ファイル出力にでもします。