C#で文字列をそのままバイト列にする – プログラミング – Home

C#で文字列をそのままバイト列にする
 
通知
すべてクリア

[解決済] C#で文字列をそのままバイト列にする


おっさん
 おっさん
(@おっさん)
ゲスト
結合: 18年前
投稿: 10
Topic starter  

文字列をバイト列にする方法はありませんか?
文字コードの変換などは一切せずに、単純に文字列を構成しているバイトの列をはじめか
ら終わりまで、バイト列に入れる方法を探しています。

これはEncodingではできないのではないかと思われます。Encodingを使うと必ず文字コー
ドの変換をしなければならないように思えます。

何か方法があれば教えてください。


引用未解決
トピックタグ
C#
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

まず、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);
}

のような感じでしょうか。


返信引用
匿名
 匿名
(@匿名)
ゲスト
結合: 1秒前
投稿: 0
 

stringオブジェクトにはバイト列を直接取り出せるようなmethodが無いですし、Charオブジェクトにも無いので、このようにし
ないといけないのですね。

どうも有難うございました!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました