Где хранятся данные «средства просмотра символов»? - PullRequest
0 голосов
/ 29 марта 2020

Мне нужно проанализировать все данные из Character Viewer на Ma c, как я могу это сделать? Или где это хранится?

Мне нужен этот формат:

☀︎ ЧЕРНОЕ СОЛНЦЕ С ЛУЧАМИ Юникод: U + 2600 U + FE0E, UTF-8: E2 98 80 EF B8 8E

☼ БЕЛОЕ СОЛНЦЕ С ЛУЧАМИ Юникод: U + 263 C, UTF-8: E2 98 B C

и т. Д.

Спасибо!

enter image description here

1 Ответ

2 голосов
/ 29 марта 2020

В OS X El Capitan (Версия 10.11.6) данные «Character Viewer» можно найти внутри пакета системного приложения «Character Palette», расположенного по адресу /System/Library/Input Methods/CharacterPalette.app, в файле базы данных SQLite: /System/Library/Input Methods/CharacterPalette.app/Contents/Resources/CharacterDB.sqlite3 .

Вы можете использовать соответствующее приложение (например, Браузер БД для SQLite ), чтобы открыть файл базы данных и экспортировать его основную таблицу в файл в формате CSV, а затем извлечь данные самостоятельно. .

В JavaScript (Node.js), если вы уже знаете, как читать строки файла, это будет что-то вроде:

let lines =
[
    "☼	WHITE SUN WITH RAYS|||||||||||||||",
    "☀︎	BLACK SUN WITH RAYS|||||||||||||||",
    "☀️	BLACK SUN WITH RAYS|||||||||||||||",
    "☀	BLACK SUN WITH RAYS|||||||||||||||"
];
for (let line of lines)
{
    let fields = line.split ('\t');
    let characterSequence = fields[0];
    let name = fields[1].split ('|')[0];
    let codePoints = Array.from (characterSequence).map (char => "U+" + char.codePointAt (0).toString (16).toUpperCase ().padStart (4, "0")).join (" ");
    console.log (characterSequence, name, "Unicode:", codePoints);
}

Примечания:

  • Название основной таблицы (unihan_dict) каким-то образом вводит в заблуждение, но содержит данные для всех не Также и символы Unihan, с минимальной информацией.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...