Javaの文字エンコーディングを理解しようとしていました。 Javaの文字は、UTF-16エンコーディングを使用して16ビットで格納されます。だから私は6文字を含む文字列をバイトに変換している間に、私は以下のように6バイトを取得しています。私はそれが12であることを期待しています。JavaのUTF-16文字エンコーディング
package learn.java;
public class CharacterTest {
public static void main(String[] args) {
String str = "Hadoop";
byte bt[] = str.getBytes();
System.out.println("the length of character array is " + bt.length);
}
}
O/Pは:結果も期待されていないバイトを取得するために、UTF-16エンコーディングをしようとすると、文字列の長さは@Darshan 1として6
です。
package learn.java;
public class CharacterTest {
public static void main(String[] args) {
String str = "Hadoop";
try{
byte bt[] = str.getBytes("UTF-16");
System.out.println("the length of character array is " + bt.length);
}
catch(Exception e)
{
}
}
}
o/p: the length of character array is 14
'str.getBytes(" UTF-16 ");' しかし、私はwonder/oは14です。 –
はいDarshan、ここと同じです。それは12でなければならない! – priyaranjan
はい、あなたは 'utf-16le'または' utf-16be'を使用する必要があります 詳細については、次の[link] http://rosettacode.org/wiki/String_lengthを参考にしてください。 –