通知
すべてクリア
Topic starter
2008年10月25日 1:12 AM
文字列をバイト列にする方法はありませんか?
文字コードの変換などは一切せずに、単純に文字列を構成しているバイトの列をはじめか
ら終わりまで、バイト列に入れる方法を探しています。
これはEncodingではできないのではないかと思われます。Encodingを使うと必ず文字コー
ドの変換をしなければならないように思えます。
何か方法があれば教えてください。
2008年10月25日 3:32 AM
まず、System.Stringクラスは内部でUnicode(UTF-16)で文字列として保持しています。
ということで、Unicodeのバイトの配列でよければ
string s = ABCあいおえお;
byte[] b = new byte[s.ToCharArray().Length * sizeof(char)];
int i = 0;
foreach (char c in s.ToCharArray())
{
Array.Copy(BitConverter.GetBytes(c), 0, b, i, sizeof(char));
i += sizeof(char);
}
のような感じでしょうか。
2008年10月25日 10:29 AM
stringオブジェクトにはバイト列を直接取り出せるようなmethodが無いですし、Charオブジェクトにも無いので、このようにし
ないといけないのですね。
どうも有難うございました!