プロが教えるわが家の防犯対策術!

お世話になります
C#でプログラムを開発しております
その際、ハードウェアへデータを送信するのですが
送信する文字列データをANKコードで送信しなければなりません。

そこで行き詰っているのですが

ハードウェアへ ひらがなの 「あ」 を送信する際
「$"」 へ変換して送信する形です

・・・参考・・・

JIS0208コード表
http://ash.jp/code/codetbl2.htm

ANKコード表
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/codes.


以下がプログラムです

     str = "あ";

     byte[] data = Encoding.GetEncoding("EUC-JP").GetBytes(str);

     ret = Encoding.GetEncoding("ASCII").GetString(data);

     System.Console.WriteLine("ret:" + ret);

上記のコードでできると思ったのですが

ret2:??

となってしまいます。
Javaではできたのですが・・・

いちおう成功したJavaのコードを載せます

     str = "あ";
     byte[] jis = str.getBytes("jis0208");
     String strAscii = new String(jis, "ASCII");
     System.out.println("strAscii:" + strAscii);

結果
$"

Javaではjis0208でエンコードしてるところを
C#ではEUC-JPで行っているのが原因だとは思うのですが
ネットで調べてもjis0208はEUC-JPでエンコードするようにあります

私の理解が不足しているのでしょうか
お分かりになる方、宜しくお願い致します。

A 回答 (2件)

こんなとか。

「C# 文字コード変換」の回答画像2
    • good
    • 0
この回答へのお礼

できましたーー!!

どうもありがとうございます

2日考え続けてできなかったので

大変すっきりしました。

ようやく次のステップへ進めます。

ありがとうございました。

お礼日時:2012/11/30 11:56

ANKコード(

http://ja.wikipedia.org/wiki/JIS_X_0201 )だと漢字を送ろうとすること自体間違いということになりますが?

この回答への補足

回答ありがとうございます。

はい。説明不足でした。

例えば漢字の「亜」を送信する場合

JIS0208コード表では

16区の一番最初の 3021 になります。
http://ash.jp/code/codetbl2.htm

この3021をANKにすると 0! になり
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/codes. …

0!を送信すれば、ハードウェア上で「亜」という認識をします。

補足日時:2012/11/29 19:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!