c#で文字列の元のバイト表現を取得します(指定されたエンコードなし)
従来の提案とは対照的に、バイトが不要な場合は、指定されたコードなしでC#の文字列のバイト表現を取得できます。この方法により、プロセスが簡素化され、バイト表現の一貫性が保証されます。
この理由で、以下に示すように
を使用できます:
System.Buffer.BlockCopy
この関数は、システムに文字列を保存するために使用されるバイトを正確に表すバイト配列を返します。バイトから元の文字列を取得するには、次の機能を使用できます。
<code class="language-csharp">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; }</code>
文字コーディングスキームを心配することなく、一貫したバイトが保証されます。
<code class="language-csharp">// 请勿对任意字节使用此函数;仅对相同系统上的 GetBytes 输出使用 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); }</code>
コーディング/デコードに問題なく無効な文字を処理できます。
以上がエンコードを指定せずにC#文字列の生のバイト表現を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。