C#について質問です。C#で処理している

文字列moziAをもとに
moziBに16進数変換後の文字列を出力したいと思います。
この方法を教えてください。

当初、moziAの頭から1文字づつ切りだして、charにセットし16進数に変換すれば
よいと考えていたのですが、あいうのようなcharに収まらないものについては
どのようにすればよいかわかりません。アドバイスいただきたくよろしくお願いします。

<例>


元データ:String moziA="123ABCあいう"
  ↓
処理結果:String moziB="31323341424382A082A2A4"

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/08/23 10:36:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:khazad-Lefty No.1

回答回数181ベストアンサー獲得回数27

ポイント200pt

あいうのようなcharに収まらないものについてはどのようにすればよいかわかりません

どういう目的で変換するのかがわからないのでなんともいえない部分はありますが、

SJISなりUTF8なりのエンコーディングでバイト配列に変換するのがよくあるパターンかと。

(というか、そういう文字をどうバイナリに変換するのかの方法がエンコーディングなので、その方法が決まらないと変換のしようがない)

具体的な方法は、↓を参考にすると

http://dobon.net/vb/dotnet/string/encryptstring.html

    '文字列をバイト型配列にする
    Dim bytesIn As Byte() = System.Text.Encoding.UTF8.GetBytes(str)

で、バイト配列になる(上記はUTF8でエンコードしている)ので、その配列でループして、

配列内の数値(バイト型なので0~255の数値)を16進表示の文字列に変換してあげればいいかと思います。

id:harunoharuno

有難うございます。ためしてみます。

2010/08/18 09:47:36

その他の回答2件)

id:khazad-Lefty No.1

回答回数181ベストアンサー獲得回数27ここでベストアンサー

ポイント200pt

あいうのようなcharに収まらないものについてはどのようにすればよいかわかりません

どういう目的で変換するのかがわからないのでなんともいえない部分はありますが、

SJISなりUTF8なりのエンコーディングでバイト配列に変換するのがよくあるパターンかと。

(というか、そういう文字をどうバイナリに変換するのかの方法がエンコーディングなので、その方法が決まらないと変換のしようがない)

具体的な方法は、↓を参考にすると

http://dobon.net/vb/dotnet/string/encryptstring.html

    '文字列をバイト型配列にする
    Dim bytesIn As Byte() = System.Text.Encoding.UTF8.GetBytes(str)

で、バイト配列になる(上記はUTF8でエンコードしている)ので、その配列でループして、

配列内の数値(バイト型なので0~255の数値)を16進表示の文字列に変換してあげればいいかと思います。

id:harunoharuno

有難うございます。ためしてみます。

2010/08/18 09:47:36
id:bestlvbbs No.2

回答回数105ベストアンサー獲得回数0

(はてなにより削除しました)
id:lvbestbbs No.3

回答回数129ベストアンサー獲得回数0

(はてなにより削除しました)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません