Ich habe versucht, Zeichencodierung in Java zu verstehen. Zeichen in Java werden in 16 Bits mit UTF-16-Codierung gespeichert. Also, während ich einen String mit 6 Zeichen in Byte umwandle, bekomme ich 6 Bytes wie unten, ich erwarte, dass es 12 ist. Gibt es irgendein Konzept, das ich vermisse?UTF-16 Zeichencodierung von Java
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: die Länge des Zeichenfeldes 6
Wie pro @Darshan Wenn mit UTF-16-Codierung versuchen Bytes zu erhalten das Ergebnis ist auch nicht zu erwarten.
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 ");' aber ich bin wunder o/p ist 14 –
ja Darshan, gleich hier. Es sollte 12 richtig sein !!! – priyaranjan
Ja für die Sie verwenden, um 'utf-16le' oder' utf-16be' bitte refere folgende [link] http://rosettacode.org/wiki/String_length für weitere Details. –