«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь точки кода UCS-2 из символов UTF-8 в PHP?

Как извлечь точки кода UCS-2 из символов UTF-8 в PHP?

Опубликовано в 2025-02-06
Просматривать:655

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

определение кодовых точек UCS-2 для символов UTF-8 в PHP

задача-извлечь кодовые точки UCS-2. Для символов в данной строке UTF-8. Для этого может быть определена пользовательская функция PHP. Каждый символ представлен последовательности от 1 до 4 байтов, в зависимости от его точки кода Unicode. Диапазоны для каждого размера байта следующие:

0xxxxxxx: 1 byte
  • 110xxxxxxxxxxxxx: 2 bytes
  • 1110xxxxxxxxxxxxxxxxxxxxxxxxxxxxx &&&&] 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx: 4 байта
  • , чтобы определить количество байтов на сим &&&&] 110: 2 байтового символа
  • 1110: 3 байтового символа
]

11110: 4 Byte символ

    10: продолжение byte
  • 11111: Invalid Hearm
  • ] Однажды определяется число байтов, манипуляция битов может использоваться для извлечения кодовой точки.
  • custom PHP -функция:
  • основан на основе В приведенном выше анализе, вот пользовательская функция PHP, которая принимает один символ UTF-8 в качестве ввода и возвращает свою кодовую точку UCS-2:

function get_ucs2_codepoint ($ char) { // Инициализировать кодовую точку $ codepoint = 0; // Получить первый байт $ firstbyte = ord ($ char); // определить количество байтов if ($ firstbyte

] пример использования:

для использования функции, просто предоставьте символ UTF-8 как input:

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  

output:

ucs-2 Кодовая точка: 241

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3