Существует ли стандартный способ преобразования строки типа «\ uFFFF» в символ, означающий, что строка из шести символов содержит представление одного символа Юникода?Java: преобразовать строку « uFFFF» в char
ответ
char c = "\uFFFF".toCharArray()[0];
Значение непосредственно интерпретируется как искомая строка, и вся последовательность реализуется как один символ.
Другой способ, если вы собираетесь жестко закодировать значение:
char c = '\uFFFF';
\uFFFF
Обратите внимание, что, кажется, не быть собственно юникода характер, но попробовать с \u041f
, например.
обратной косой спасшемся здесь (так что вы видите два из них, но в сек Строка действительно длиной всего 6 символов). Если вы уверен, что у вас есть именно «\ и» в начале вашей строки, просто пропустите их и конвертер шестнадцатеричное значение:
String s = "\\u20ac";
char c = (char) Integer.parseInt(s.substring(2), 16);
После этого гр должен содержать символ евро, как ожидается, ,
Это то, что я когда мне это нужно. – PSpeed
char c = (char) Integer.parseInt (s.substring (2), 16); - Очень похоже на то, что я имел в виду. \ uFFFF - это формат представления Юникода в том месте, где я его читал (скажем, файл ASCII), а не буквальный. Я догадался, что может быть более прямой метод, но это тоже должно быть хорошо. Спасибо всем. – Dima
String charInUnicode = "\\u0041"; // ascii code 65, the letter 'A'
Integer code = Integer.parseInt(charInUnicode.substring(2), 16); // the integer 65 in base 10
char ch = Character.toChars(code)[0]; // the letter 'A'
Почему вы используете toChars(), когда вы жестко закодируете '[0]' в любом случае? Ваш код идет на полпути к поддержке высококодовых кодов, но пропускает другую половину. В чем смысл? –
Почему бы не написать jsut-cast целое число непосредственно в 'char'? Он уже находится в допустимом диапазоне: 'char ch = (char) code;' –
Если вы разбор входных данных с Java в стиле экранированных символов вы можете захотеть взглянуть на StringEscapeUtils.unescapeJava. Он обрабатывает Unicode ускользает, а также перевод строки, закладки и т.д.
String s = StringEscapeUtils.unescapeJava("\\u20ac\\n"); // s contains the euro symbol followed by newline
Это решение сработало для меня, библиотеки Apache действительно очень полезны. Благодаря!!! – will824
- 1. Как преобразовать строку "\ uFFFF" в Unicode?
- 2. Как преобразовать char [] в строку в java?
- 3. преобразовать строку в char c
- 4. Как преобразовать char [] в строку?
- 5. Невозможно преобразовать строку [] в char []
- 6. Как преобразовать строку char в строку wchar_t?
- 7. Как преобразовать строку = "\ t" в char
- 8. Как преобразовать строку char в целое число в Java?
- 9. Как преобразовать char * в char []
- 10. Как преобразовать строку в char в C
- 11. Как преобразовать строку в char * в C++?
- 12. Как преобразовать строку в char * в C++?
- 13. Преобразовать строку из Java в
- 14. преобразовать строку в unsigned char str
- 15. Как преобразовать строку lua в C char *?
- 16. Как преобразовать char * filename в строку?
- 17. C++ Как преобразовать строку в char *
- 18. .NET/C# - Преобразовать char [] в строку
- 19. C# - Как преобразовать строку в char?
- 20. Как преобразовать строку в char * agv []
- 21. Нужно преобразовать строку/char в значения ascii
- 22. Как преобразовать символ char * в строку *?
- 23. преобразовать строку в char с ключом коммутатора
- 24. преобразовать переменную строку в char array C++
- 25. Pascal: преобразовать строку в некоторый char
- 26. Как преобразовать указатель char * в строку C++?
- 27. Как преобразовать строку C++ в char *?
- 28. не может преобразовать строку в char
- 29. Как преобразовать символ char * в строку?
- 30. преобразовать строку в char * [string has '0']
больше информации, пожалуйста, – jjj
вы имеете в виду нравится :: System.out.println («Введите символ:»); Строка s = read.readLine(); char c = s.charAt (0); – jjj
На самом деле редактирование jleedev ошибочно: Дима сказал, что в его строке было 6 символов, а не семь. Внутренне, даже в Java, «строка» не содержит двух обратных косых черт. Я прочитал исходную версию как «\ uFFFF», «общую» строку, без экранирования, потому что плакат использовал строчное «строковое» слово, а не «String», и потому, что он точно заявил, что строка состоит из 6 символов. Итак, технически, я уверен, что строка, которую он хочет конвертировать, это «\ uFFFF» и * not * "\\ uFFFF". Тот факт, что в исходном коде Java вам нужно ввести «\ uFFFF» как «\\ uFFFF», для меня не имеет отношения к вопросу. – SyntaxT3rr0r