[Java] Obtenir la longueur de la chaîne de paire de substitution

Qu'est-ce qu'une paire de substitution?

En Unicode (UTF-16), un caractère est généralement représenté par deux octets. Cependant, au fur et à mesure que le nombre de caractères à gérer par Unicode augmentait, le nombre de caractères pouvant être représentés par 2 octets (65535 caractères) devenait insuffisant et en exprimant certains caractères avec 4 octets, le nombre de caractères pouvant être traités augmentait. .. Ces caractères de 4 octets sont appelés paires de substitution.

Obtenir la longueur de la chaîne de paire de substitution

Le caractère «réprimande» est une paire de substitution, donc si vous utilisez normalement la méthode «length», il sera considéré comme deux caractères. Par conséquent, pour compter correctement les chaînes contenant des paires de substitution, utilisez la méthode codePointCount au lieu de la méthode length.

var str1 = "Bonjour";
System.out.println(str1.length());   //Résultat: 5

var str2 = "Gronder";
System.out.println(str2.length());   //Résultat: 3

//Cela obtiendra le nombre correct de caractères
System.out.println(str2.codePointCount(0, str2.length()));   //Résultat: 2

Méthode codePointCount

/**
@param begin Position de départ pour trouver la longueur
@param end Position finale pour la longueur
@nombre de caractères de retour
*/
public int codePointCount(int begin, int end)

Recommended Posts

[Java] Obtenir la longueur de la chaîne de paire de substitution
Obtenez le résultat de POST en Java
[Java] Obtenez le jour d'un jour spécifique
Comment obtenir la longueur d'un fichier audio avec Java
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] La partie déroutante de String et StringBuilder
[Note] Java: mesure la vitesse de concaténation de chaînes
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
Obtenez l'URL de la destination de la redirection HTTP en Java
[Java] Comment obtenir la valeur maximale de HashMap
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Accédez à l'abréviation à partir de 5 exemples de listes Java en italique
[Java] Essayez de modifier les éléments de la chaîne Json à l'aide de la bibliothèque
[Java] Comparaison de vitesse de combinaison de chaînes
Diverses méthodes de la classe Java String
[Édition Java] Histoire de la sérialisation
Diverses méthodes de la classe String
Obtenez l'ID de la numérotation automatique
[Java] Comparaison correcte du type String
J'ai lu la source de String
L'origine des expressions Java lambda
[Java1.8 +] Obtenez la date du jour × suivant avec LocalDate
L'histoire de ne pas connaître le comportement de String en passant par Java
Obtenez l'URL publique du fichier privé de Flickr en Java
J'ai essayé de résumer les méthodes de Java String et StringBuilder
[Java] Comment convertir du type String en type Path et obtenir le chemin
Comment vérifier le contenu de la chaîne de caractères java de longueur fixe
Chaîne Java
Mémo: [Java] Vérifiez le contenu du répertoire
Comparer les éléments d'un tableau (Java)
[Java] Comment obtenir le répertoire actuel
[jour: 5] J'ai résumé les bases de Java
Quelles sont les fonctionnalités mises à jour de Java 13
Mesurez facilement la taille des objets Java
Retour sur les bases de Java
Comment obtenir la date avec Java
Sortie du livre "Introduction à Java"
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Je veux obtenir le nom de champ du champ [Java]. (Vieux ton d'histoire)
L'histoire de l'écriture de Java dans Emacs
[Java8] Recherchez le répertoire et récupérez le fichier
[Java] Vérifiez le nombre d'occurrences de caractères
[Java] Vérifiez si la chaîne de caractères est composée uniquement de blancs (= Vierge)
Point 63: Méfiez-vous des performances de la concaténation de chaînes
[Java] [Spring] Tester le comportement de l'enregistreur
[Java] Récupère MimeType à partir du contenu du fichier avec Apathce Tika [Kotlin]
[Java] Obtenez la date avec la classe LocalDateTime
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0
[Java] Gestion des Java Beans dans la chaîne de méthodes
JAVA: jar, aar, affichez le contenu du fichier
L'histoire de la fabrication d'un Othello ordinaire à Java
[Android] [Java] Gérer l'état de CheckBox de ListView
A propos de l'ordre de description des propriétés système Java
À propos de l'idée des classes anonymes en Java
[Supprimer la première lettre de la chaîne de caractères] Ruby
L'ordre des modificateurs de méthode Java est fixe
[Java] Accéder à l'URL signée de s3 (version signée 2)