ホームページ > バックエンド開発 > C++ > エンコードせずにC#の文字列の生のバイト表現を取得するにはどうすればよいですか?

エンコードせずにC#の文字列の生のバイト表現を取得するにはどうすればよいですか?

DDD
リリース: 2025-02-01 05:11:09
オリジナル
1005 人が閲覧しました

How Can I Get the Raw Byte Representation of a String in C# Without Encoding?
C#の文字列のコードとバイトを

に示します

文字列をC#で処理する場合、特に文字列をバイト配列に変換する場合は、文字コードを考慮する必要があります。エンコーディングにより、文字列は、Unicode UTF-8やASCIIなどのさまざまな文字セットで表されます。

ただし、説明なしで文字列の基礎となるバイトを取得することが目的である場合、簡単な解決策があります。

この方法は、コーディングの考慮事項なしにバイトシーケンスと見なされます。特定のコードに依存することなく、バイトから文字列を取得および再構築できます。

static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

// 仅限于在同一系统上GetByte方法的输出上使用,不要在任意字节上使用
static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}
ログイン後にコピー
この方法は、バイト解釈を必要としないシナリオにのみ適用されることに注意する必要があります。これらのバイトを異なるコードがエラーやデータの損傷を引き起こす可能性があるため、これらのバイトを解釈してみてください。

以上がエンコードせずにC#の文字列の生のバイト表現を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート