Распознавание, что символ является китайским и получает китайскую фонетику “системы транслитерации китайских иероглифов” от упрощенных символов?

Действительно ли возможно

A. узнайте, ли символ китайский (упрощенный) и в этом случае
B. получить систему транслитерации китайских иероглифов? example: 你好 => nǐhǎo использование Java или php?

Удачи

5
задан eyllanesc 29 May 2019 в 02:57
поделиться

2 ответа

A)
Да. Все символы, представленные в Юникоде, имеют уникальный числовой индекс, называемый кодовой точкой .

Если вам известен диапазон кодовых точек для упрощенного китайского языка и вы знаете, как получить кодовую точку Unicode для данного символа, простое сравнение покажет вам, находится ли данный символ в пределах упрощенного китайского диапазона.

В существующем вопросе есть решение для получения кодовой точки Unicode для символа в PHP:
Как получить номер кодовой точки для данного символа в строке utf-8?

В Java - статическая java. lang. Метод Character :: codePointAt () даст вам то, что вам нужно.

B)
Преобразование упрощенного китайского символа или строки в пиньинь, скорее всего, потребует некоторой формы сопоставления с кодовой точкой юникода в качестве ключа и соответствующим пиньинь в качестве значения.

Пример этого в PHP показан на http://kingphp.com/108.html .

Простой поиск в Google по запросу [java pinyin] открывает ряд вариантов, два из которых относятся к библиотекам китайского языка и pinyin по адресу http://kiang.org/jordan/software/pinyinime/ и ] http://pinyin4j.sourceforge.net/ .

6
ответ дан 14 December 2019 в 01:01
поделиться

Если вы используете utf-8 для интерпретации ваших файлов и вызовов БД, я полагаю, что простое

$new_text = preg_replace(array('/你好/',...), array('nǐhǎo',...), $old_text);

должно помочь.

Откуда у вас струна?

0
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: