Упрощенная китайская таблица Unicode
Где я могу найти таблицу Unicode, показывающую только упрощенные китайские символы? Я искал везде, но не могу ничего найти.
ОБНОВИТЬ:
Я обнаружил, что есть еще одна кодировка под названием GB 2312 -
http://en.wikipedia.org/wiki/GB_2312
- который содержит только упрощенные символы.
Конечно, я могу использовать это, чтобы получить то, что мне нужно?
Я также нашел этот файл, который отображает GB2312 в Unicode -
http://cpansearch.perl.org/src/GUS/Unicode-UTF8simple-1.06/gb2312.txt
- но я не уверен, точно ли это или нет.
Если эта таблица неверна, может быть, кто-то может указать мне на это или просто таблицу символов GB2312 и какой-нибудь способ их преобразования?
ОБНОВЛЕНИЕ 2:
Этот сайт также предоставляет таблицу GB/Unicode и даже Java-программу для создания файла со всеми символами GB, а также эквивалентами Unicode:
http://www.herongyang.com/gb2312/
5 ответов
База данных Unihan содержит эту информацию в файле Unihan_Variants.txt
, Например, пара традиционных / упрощенных символов:
U+673A kTraditionalVariant U+6A5F
U+6A5F kSimplifiedVariant U+673A
В приведенном выше случае U+6A5F - это 機, традиционная форма 机 (U+673A).
Другой подход заключается в использовании проекта CC-CEDICT, который публикует словарь китайских иероглифов и соединений (как традиционных, так и упрощенных). Каждая запись выглядит примерно так:
D 宕机 [dang4 ji1] / сбой (компьютера)/ тайваньский термин для 當機|当机[dang4 ji1]/
Первый столбец состоит из традиционных символов, а второй столбец упрощен.
Чтобы получить все упрощенные символы, прочитайте этот текстовый файл и составьте список всех символов, которые появляются во втором столбце. Обратите внимание, что некоторые символы могут не появляться сами по себе (только в соединениях), поэтому недостаточно взглянуть на односимвольные записи.
ОП не указывает, какой язык они используют, но если вы используете Ruby, я написал небольшую библиотеку, которая может различать упрощенный и традиционный китайский (плюс корейский и японский в качестве бонуса). Как предполагается в ответе Грега, он опирается на дистиллированную версию Unihan_Variants.txt
выяснить, какие символы исключительно упрощены, а какие исключительно традиционны.
https://github.com/jpatokal/script_detector
Образец:
p string
=> "我的氣墊船充滿了鱔魚."
> string.chinese?
=> true
> string.traditional_chinese?
=> true
> string.simplified_chinese?
=> false
Но, как должным образом предупреждает Unicode FAQ, это требует значительных фрагментов текста для надежной работы и даст неверные результаты для коротких строк. Рассмотрим японцев для Токио:
p string
=> "東京"
> string.chinese?
=> true
> string.traditional_chinese?
=> true
> string.japanese?
=> false
Поскольку оба символа также являются действительными традиционными китайскими символами, и не существует исключительно японских символов, они распознаются неправильно.
Я не уверен, что это легко сделать. Идеографы Хана унифицированы в Юникоде, поэтому не сразу понятно, как это сделать. Но база данных Unihan ( http://www.unicode.org/charts/unihan.html) может содержать необходимые данные.
Вот регулярное выражение всех упрощенных китайских иероглифов, которые я сделал. По какой-то причине Stackru жалуется, поэтому он приведен ниже.
Вы заметите, что в этом списке есть диапазоны, а не каждый отдельный символ, но также и то, что это символы utf-8, а не экранированные представления. Это хорошо мне помогло в той или иной итерации примерно с 2010 года. Надеюсь, что все остальные смогут использовать его сейчас.
Если вам не нужны упрощенные символы (я не могу себе представить, почему он не появляется один раз в 9 лет), переберите все символы из ['一-龥']
и попробуйте создать новый список. Или запустите два регулярных выражения, один, чтобы проверить это китайский, но не упрощенный китайский
Я не верю, что есть таблица с только упрощенными кодами. Я думаю, что они все объединены в диапазоне CJK от 0x4E00 до 0x9FFF
Согласно википедии упрощенный китайский против традиционного, кандзи или других форматов во многих случаях оставлен на усмотрение шрифтов. Поэтому, хотя у вас может быть выбор упрощенных кодов китайского языка, этот список не будет полным, поскольку многие символы больше не различаются.