![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。
現在、Visual Studio 2005 C#を使っています。
ネットワーク経由で機器の情報を取得しようとしているのですが、文字化けが起きてしまいました。
調べてみると'c0','b2','d1'と帰ってきていて、これらはS-jis半角カナの'タ','イ',’ム’を表しているようです。
少し省略していますが以下のような手順で確認しています
private void buttonStart_Click(object sender, EventArgs e)
{
TcpClient client =
new TcpClient(textBoxIP.Text,int.ParstextBoxPort.Text));
NetworkStream netStream = client.GetStream();
StreamReader sr = new StreamReader(netStream);
StreamWriter sw = new StreamWriter(netStream);
sw.AutoFlush = true;
sw.WriteLine("TestCommand");
string s = sr.ReadLine();//ここで文字化け
}
StreamReader,StreamWriterの設定でEncoding指定が出来るようですが、sjisは無かったように思いました。
(defaultはUTF-8になっているようですので文字化けしたようです。)
どのようにすれば、sjisで文字列を取得できるでしょうか?
No.1ベストアンサー
- 回答日時:
>sjisは無かったように思いました。
Shift_JISはちゃんとあると思うけど?
http://msdn.microsoft.com/en-us/library/system.t …
> 932 shift_jis Japanese (Shift-JIS)
http://msdn.microsoft.com/en-us/library/wzsz3bk3 …
実装するのが面倒くさかったのでTCPClient使わず
byte配列をMemoryStreamに書き込んでみたコード:
using System;
namespace Q5013966
{
public class Q5013966
{
public static void Main(){
System.IO.MemoryStream s = new System.IO.MemoryStream();
s.Write(new byte[]{0xc0,0xb2,0xd1},0,3);
s.Seek(0,System.IO.SeekOrigin.Begin);
System.IO.StreamReader sr = new System.IO.StreamReader(s,System.Text.Encoding.GetEncoding(932));
System.Console.WriteLine(sr.ReadLine());
System.Console.ReadKey(true);
System.Console.WriteLine(System.Text.Encoding.GetEncoding(932).GetString(new byte[]{0xc0,0xb2,0xd1}));
}
}
}
>System.IO.StreamReader sr = new System.IO.StreamReader(s,System.Text.Encoding.GetEncoding(932));
で設定できるんですね…。
Encoding.で設定できるプロパティが
Unicode,UTF7,UTF8,UTF32しか見当たらないので設定できないのかなと思ってしまいました。
無事解決しました。
参照先も確認させていただきます。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
C# 半角カナの文字化けについて
-
C#から、C++で作成したdll内の...
-
【Java】画像表示が出来ない!
-
ボタンのイベントで異なるウィ...
-
JAVA DialogのModalの設定について
-
JWindow、JFrameでモーダル化の...
-
【C#】ソースコードをファイル...
-
Junitテストでvoid戻り値メッソ...
-
C#で、あるクラスのメンバーす...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
EXCEL VBA で、0から?1から?
-
JSPやサーブレットでSystem.out...
-
ActionForm form にnullが入っ...
-
Java配列でNullPointerExceptio...
-
オブジェクトの中のプロパティ...
-
パソコンキーボードで時分秒を...
-
数字文字列をパック10進数に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、あるクラスのメンバーす...
-
大量のデータを読み込んで表示...
-
Junitテストでvoid戻り値メッソ...
-
Processingでマウスクリックで...
-
C#でのWNetAddConnection3の使...
-
ボタンのイベントで異なるウィ...
-
C#で別のFormへ複数の値を返そ...
-
GetDIBits関数の使い方について
-
【Java】画像表示が出来ない!
-
ボタンの複数割り当てについて
-
Thread.sleepのInterruptedExce...
-
C# MouseHoverを何度も呼ぶには
-
C# DataGridView列カスタマイズ
-
正規表現
-
unityでのC++エラーの原因がわ...
-
C# visibleプロパティをfalseに...
-
C# 矢印キーの取得
-
C#から、C++で作成したdll内の...
-
C#でキーイベントが発生しない...
-
JavaFXでの表内のチェックボッ...
おすすめ情報