2017-11-30 16 views
0

私は、C#文字列をUTF-8にエンコードしてからバイト配列を作成することによって、C#文字列を変換する単純なビットのコードを持っています。しかし、私はバイト配列を使用してUTF-8にエンコードする方法を知りたいのですが、これは既に開始インデックスで行っていますか?文字列をUTF-8に既存のバイト配列にエンコードするにはどうすればよいですか?

だから、これは私が現在エンコードしたバイト配列を取得しています方法です:

byte[] result = Encoding.UTF8.GetBytes(myString); 

しかし、私はそれが理にかなっている場合は、特定されたインデックスのへの書き込みを好むバイト配列既成のを持っています。どのように私はそれについて行くだろうかどうか、これを行うための方法で構築されていますか?

+1

GetBytesのもう一方のオーバーロードを使用してください... –

+0

エンコードまたは文字列が必要な場合、再度バイトが必要ですか? – Farukh

+0

@mikezああ、私は過負荷が存在することを知らなかった。私の悪い。ありがとうございました:) – WDUK

答えて

1

GetBytesは、既存のアレイに書き込み、別のオーバーロードがあります。

byte[] bytes = new byte[1000]; // sample, make sure it has enough space 
    var specificIndex = 0; 
    var actualByteCount = Encoding.UTF8.GetBytes(
    myString, 0, myString.Length, bytes, specificIndex); 

実際に文字列を表す何バイト配列に知って結果を処理することを忘れないでください(actualByteCount

正しい配列サイズを取得したり、バッファに収まるように変換する文字数を調整するには、GetByteCountを使用する必要があります。

-1

まず、バイトをBase64Stringに変換し、それをバイトに変換する必要があります。これは好き:

byte[] random = new byte[] { 0x00C9, 0x00C9, 0x00C9 }; 

byte[] encodedBytes = Encoding.UTF8.GetBytes(Convert.ToBase64String(random)); 
関連する問題