[JAVA] Ich möchte herausfinden, ob die angegebene Zeichenfolge vom Zielzeichencode unterstützt wird

Wenn Sie herausfinden möchten, ob die angegebene Zeichenfolge vom Zielzeichencode unterstützt wird, können Sie bequem "CharsetEncoder.canEncode" verwenden. Dies ist eine Methode, die true zurückgibt, wenn die als Argument angegebene Methode vom Zielzeichencode unterstützt wird, andernfalls false, wenn Sie beispielsweise überprüfen möchten, ob die Zeichenfolge s von Shift_JIS unterstützt wird. Schreiben Sie einfach so.

String s = "...";
Charset.forName("Shift_JIS").newEncoder().canEncode(s);

Als Beispiel für die Überprüfung, ob es tatsächlich funktioniert, verwenden wir das Kanji "Taka". Es ist eine sogenannte "Leiter". Dieses Kanji wird von Shift_JIS nicht unterstützt, aber von seiner Erweiterung Windows-31J. Lassen Sie uns dies überprüfen.

Charset.forName("Shift_JIS").newEncoder().canEncode("Taka");   //=> false
Charset.forName("Windows-31J").newEncoder().canEncode("Taka"); //=> true

Es scheint wie erwartet zu funktionieren (´ ・ ω ・ `)

** Umweltinformationen: **

C:\>javac -version
javac 11.0.3
C:\>java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode)

Recommended Posts

Ich möchte herausfinden, ob die angegebene Zeichenfolge vom Zielzeichencode unterstützt wird
# 1_JAVA Ich möchte die Indexnummer durch Angabe eines Zeichens in der Zeichenfolge erhalten
Ich möchte herausfinden, welche Java-Version die JAR-Datei hat, die ich habe
Wenn die von JNA an C ++ übergebene Zeichenfolge verstümmelt ist
[Ruby] Ich möchte nur das ungerade Zeichen in der Zeichenfolge ausgeben
[Java] So schneiden Sie eine Zeichenfolge zeichenweise aus
Ich möchte ausgeben, welches Zeichen eine beliebige Zeichenfolge von links erscheint
[JavaScript] Ich möchte die Verarbeitung einschränken, indem ich Eingabeelemente überprüfe, wenn die angegebene Zeit zum Zeitpunkt des Fokusausgangs abgelaufen ist.
(´-`) .. oO (Ich möchte die Standardausgabe" Hallo "leicht finden.
Finden Sie alle Zeitzonen-IDs heraus, die von der Java TimeZone-Klasse unterstützt werden
Ich möchte die Eingabe begrenzen, indem ich den Zahlenbereich einschränke
[Java] Überprüfen Sie, ob die Zeichenfolge nur aus Leerzeichen besteht (= Leerzeichen)
[Java] Teilen Sie eine Zeichenfolge durch ein angegebenes Zeichen
[Swift] Kopieren Sie die Zeichenfolge in die Zwischenablage
Ich möchte eine Liste nur eindeutiger Zeichenfolgen erhalten, indem feste Zeichenfolgen vom Dateinamen ausgeschlossen werden
[Rubiy] Ich möchte mit der Split-Methode ein Array aus einer Zeichenfolge erstellen. Und umgekehrt.
Ruby: Ich habe versucht herauszufinden, wohin Nokogiri geht, um die Kodierung selbst zu sehen
[Rails / ActiveRecord] Ich möchte den Wert überprüfen, bevor der Typ konvertiert wird (_before_type_cast).
Auch wenn ich den Inhalt eines Datenobjekts in Java in JSON konvertieren möchte, gibt es einen Zirkelverweis ...
Ich möchte die MD5-Prüfsumme einer Datei in Java finden und das Ergebnis als Zeichenfolge in hexadezimaler Notation erhalten.
Ich möchte nach Tabulatortrennzeichen mit Rubin sortieren
Ich möchte den Inhalt der Absicht var_dump
Ich möchte eine einfache Wiederholung einer Zeichenkette schreiben
Code zum Verbinden von Rails 3 mit PostgreSQL 10
Ich möchte nach dem Dezimalpunkt abschneiden
Ich möchte eine von Git verwaltete Datei löschen
Ich möchte den Wert in Ruby erhalten
Ich kann kein Japanisch mit VS-Code (Visual Studio Code) von Ubuntu 18.04.5 eingeben! ?? Wenn Sie VS Code auf Ubuntu herunterladen möchten, besuchen Sie die offizielle Website! !!