Iteración sobre puntos de código Unicode en cadenas Java
Si bien la clase String proporciona el método codePointAt(int) para acceder a puntos de código Unicode, su indexación depende en compensaciones de caracteres en lugar de compensaciones de puntos de código. Esto genera preocupaciones sobre el manejo de caracteres dentro del rango de alto sustituto y la eficiencia del enfoque de iteración propuesto mediante el escaneo carácter por carácter.
Solución de iteración mejorada
Java La representación interna de cadenas emplea un esquema de codificación basado en UTF-16. Los caracteres fuera del plano multilingüe básico (BMP) se codifican mediante el esquema de subrogación. Para una iteración eficiente, considere utilizar el siguiente enfoque canónico:
final int length = s.length();
for (int offset = 0; offset Este enfoque maneja correctamente pares sustitutos para caracteres fuera del BMP. Al utilizar Character.charCount(punto de código), incrementa eficientemente el desplazamiento en la cantidad apropiada de caracteres para cada punto de código.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3