Я хочу определить, задана ли строка двухбайтовым набором символов или нет, используя java?
Спасибо
A String не имеет свойства набора символов, фактически оно всегда UTF-16 (16 бит используется для каждого символа).
String
Если вы хотите попытаться обнаружить вероятную кодировку некоторых входных данных (например, в файле или потоке), то можно использовать ICU4J CharsetDetector .
Но к тому времениданные в вашем коде находятся в строке, это слишком поздно.
Ваша строка содержит многобайтовые символы, если String.codePointCount(int beginIndex, int endIndex) для всего текстового диапазона даст не нулевой результат.
String.codePointCount(int beginIndex, int endIndex)