"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo extraer puntos de código UCS-2 de los caracteres UTF-8 en PHP?

¿Cómo extraer puntos de código UCS-2 de los caracteres UTF-8 en PHP?

Publicado el 2025-02-06
Navegar:859

How to Extract UCS-2 Code Points from UTF-8 Characters in PHP?

determinando los puntos de código UCS-2 para los caracteres UTF-8 en php

La tarea en cuestión es extraer los puntos de código UCS-2 para caracteres dentro de una cadena UTF-8 dada. Para lograr esto, se puede definir una función PHP personalizada.

En primer lugar, es importante comprender el esquema de codificación UTF-8. Cada personaje está representado por una secuencia de 1 a 4 bytes, dependiendo de su punto de código Unicode. Los rangos para cada tamaño de byte son los siguientes:

  • 0xxxxxxxx: 1 byte
  • 110xxxxx 10xxxxxxx: 2 bytes
  • 1110xxxxxxxxxxxx 10xxxxx: 3 bytes
  • 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx: 4 bytes
para determinar el número de bytes por carácter, examinar el primer byte:

0: 1 carácter de byte
  • 110: 2 byte carácter
  • 1110: 3 byte carácter
  • 11110: 4 byte carácter
  • 10: Continuación byte
  • 11111: carácter inválido [inválido &&&]
  • Una vez que se determina el número de bytes, la manipulación de bits se puede usar para extraer el punto de código.

Función de php personalizada:

basada en En el análisis anterior, aquí hay una función PHP personalizada que toma un solo carácter UTF-8 como entrada y devuelve su punto de código UCS-2:

función get_ucs2_codePoint ($ char) { // Inicializar el punto de código $ CodePoint = 0; // consigue el primer byte $ FirstByte = Ord ($ char); // Determinar el número de bytes if ($ FirstByte

function get_ucs2_codepoint($char)
{
    // Initialize the code point
    $codePoint = 0;

    // Get the first byte
    $firstByte = ord($char);

    // Determine the number of bytes
    if ($firstByte  

para usar la función, simplemente proporcione un carácter UTF-8 como entrada:

$ char = " norte"; $ codePoint = get_ucs2_codePoint ($ char); echo "punto de código UCS-2: $ CodePoint \ n";

$char = "ñ";
$codePoint = get_ucs2_codepoint($char);
echo "UCS-2 code point: $codePoint\n";

UCS-2 Point: 241

Último tutorial Más>

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