この知識のC#コードは、エンコーディングを使用せずにbyte []をStringに変換します。今私はJavaで同じことをしようとしていますが、私は同じ結果を生成するための正しいエンコーディングを見つけることができません。Byte []配列から文字列へのC#からエンコーディングなしのJavaへ
TLDR:C#コードと同じ結果をもたらすJavaコード/ソリューションを探しています。
C#の:あなたの要求ごととして
public static byte[] StringToByteArray(String value){
byte[] bytes = new byte[value.Length * sizeof(char)];
Buffer.BlockCopy(value.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
public static String ByteArrayToString(byte[] value){
char[] chars = new char[value.Length/sizeof(char)];
Buffer.BlockCopy(value, 0, chars, 0, value.Length);
return new string(chars);
}
「符号化を使用しない」 - 出力バージョンは、UTF-16でエンコードされた出力を生成し、入力されたバージョンは、それがあることを期待するという意味で、そのコードがまだ「エンコードを使用」UTF- 16エンコード入力。 –
文字列とバイト[]の間の変換はすべて、明示的であれ暗黙的であれ、エンコーディングを使用します。 – ManoDestra
上記のc#コードはUTF-16エンコーディングを使用していますか? – user5581557