Проверить, является ли символ традиционным китайским языком в Big-5 (Java)?

У меня есть термопринтер, который поддерживает только традиционные китайские символы, кроме латиницы. Есть ли способ проверить, является ли символ CJK в Unicode действительным символом традиционного китайского языка в кодировке Big-5?

ОБНОВЛЕНИЕ

Вот метод, который я использую, чтобы проверить, имеет ли строка Unicode CJK.

public static boolean isChineseText(String s) {
    for (int i = 0; s != null && s.length() > 0 && i < s.length(); i++) {
        char ch = s.charAt(i);
        Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);
        if (Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS.equals(block)
                || Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
                        .equals(block)
                || Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
                        .equals(block)) {
            //Here, I want to check if its a Traditional Chinese character under Big-5
            return true;
        }
    }
    return false;
}

person Divyansh Goenka    schedule 11.12.2014    source источник
comment
Каким кодом вы пытались это решить? Редактирование чего-либо, что угодно помогает нам помочь вам.   -  person bmike    schedule 11.12.2014
comment
Обновленный вопрос, заранее спасибо   -  person Divyansh Goenka    schedule 11.12.2014


Ответы (1)


Проверки, которые вы выполняли в своем коде (и в самой Java), используют кодировку Unicode (не Big-5) для кодирования традиционного китайского текста. См. эту страницу для получения списка преобразования между кодировками. или этот сайт для поиска.

Я не знаю простого способа проверить, является ли китайский текст традиционным. Вы можете проверить, попадают ли символы между 0xA140 и 0xF9D5 (очевидно, диапазон Большой пятерки по ссылке, которую я дал выше), но Unicode также имеет перекрывающуюся кодировку в этом диапазоне.

См. также Различие языков CJK (китайский, японский, корейский) в Android

person Suragch    schedule 01.02.2017