C# で文字列をバイト配列に変換します
C# で文字列をバイト配列に変換しようとすると、構文の問題が発生する可能性があります。特定のケースとその解決策を見てみましょう。
質問:
VB オブジェクトのプロパティ値を C# バイト配列に変換しようとすると、エラーが発生します:
<code>Argument 1: cannot convert from 'object' to 'byte[]'</code>
解決策:
属性値を正常に変換するには、元の変換で使用されたエンコーディングを知っている必要があります。例:
<code class="language-csharp">byte[] bytes = System.Text.Encoding.ASCII.GetBytes(originalString); string encodedString = System.Text.Encoding.ASCII.GetString(bytes);</code>
使用されているエンコーディングがわからない場合は、継承されたコードを調べて手がかりを得ることができます。 System.Text.Encoding
クラスは、ASCII、UTF8、Unicode、UTF32 などのさまざまなエンコーディングを提供します。完全なリストについては、ドキュメントを参照してください。
指定したコードに注意してください:
<code class="language-csharp">string User = Encoding.UTF8.GetString("user", 0);</code>
は、変換する実際のデータを持たずに文字列をバイト配列に変換しようとするため、間違っています。提供された VB ステートメントでは、searchResult.Properties["user"][0]
はバイト配列を含むオブジェクトであり、これにアクセスして適切に変換する必要があります。
以上がVB.NET オブジェクトの文字列プロパティを C# バイト配列に正しく変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。