Javas interne Darstellung von Strings
Java verwendet UTF-16 für seine interne Textdarstellung. Dies bedeutet, dass jedes Zeichen in einer Java-Zeichenfolge mit einer 16-Bit-Unicode-Codeeinheit codiert wird. Diese Darstellung ermöglicht es Java, eine breite Palette von Zeichen zu unterstützen, einschließlich solcher aus nicht-lateinischen Alphabeten.
Modifiziertes UTF-8 für die Serialisierung
Während Java UTF-16 verwendet Intern verwendet es eine modifizierte Version von UTF-8 für die String-Serialisierung. Dieses modifizierte UTF-8-Format gewährleistet die Kompatibilität mit anderen Systemen, die die UTF-8-Kodierung verwenden, wie z. B. Webbrowser. Für die externe Datendarstellung folgt Java normalerweise streng CESU-8.
Zeichendarstellung im Speicher
Ein einzelnes Zeichen in Java, dargestellt als char-Primitivtyp, belegt zwei Bytes im Speicher. Dies gilt unabhängig vom Unicode-Codepunkt des Zeichens. Codepunkte über 65535 erfordern zwei Zeichen, was zu einer 4-Byte-Darstellung im Speicher führt.
Unter bestimmten Umständen verwendet Java möglicherweise eine Komprimierungstechnik namens UseCompressedStrings. Diese Technik ermöglicht eine 8-Bit-ISO-8859-1-Kodierung für Zeichenfolgen, die kein UTF-16 erfordern. Dies ist jedoch eine umsetzungsspezifische Optimierung und nicht die standardmäßige interne Darstellung für Zeichenfolgen.
Das obige ist der detaillierte Inhalt vonWie stellt Java Strings intern dar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!