Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 05.03.2016
Сообщений: 18
1

Вывод в консоль кодов русских букв в UTF-8

03.05.2016, 19:20. Показов 6398. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, чтобы на консоль выводила коды русских букв в UTF-8.
Есть шаблон:

Java
1
2
3
4
char ch1 = '@';
 
        int chCode = (int) ch;
        System.out.println(chCode);
Помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2016, 19:20
Ответы с готовыми решениями:

Не получается вывод в консоль русских букв
WriteLn('парам пам пам... кракозябры!!! аААаАААаааАа!!! Вывожу русский текст в консоль, а...

Знаки, вместо русских букв (utf-8)
Всем привет, возникла проблемка, сначало было совсем плохо не мог писать коменты на русском и...

Mb_function и поддержка русских букв в кодировке UTF-8
Доброе время суток, я только-только начал познавать азы PHP. Столкнулся с проблемой поддержки...

Смена кодировки utf-8 на unicode у русских букв
Здравствуйте! Прошу помощи с перекодировкой строки вида "\u041f\u0440\u0438\u0435\u0442" в русские...

5
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
04.05.2016, 11:15 2
Как-то так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        Charset utf8 = StandardCharsets.UTF_8;
        char ch1 = 'Р';
 
        byte[] bytes = Character.toString(ch1).getBytes(utf8);
        int chCode;
        if (bytes.length == 1) {
            chCode = bytes[0];
        } else if (bytes.length == 2) {
            chCode = ((bytes[0] & 0xff) << 8) | (bytes[1] & 0xff);
        } else {
            chCode = ((bytes[0] & 0xff) << 8) | ((bytes[1] & 0xff) << 8) | ((bytes[2] & 0xff) << 8) | (bytes[3] & 0xff);
        }
 
        System.out.println(chCode);
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
04.05.2016, 20:37 3
turbanoff,
1) Неправильно, в UTF-8 code point'ы могут занимать до 6 байт и в этих байтах часть бит служебные (см. схему UTF-8 в вике, например);

твой код
=> 53408

Что должно получиться:
=> 1056


2) Незачем изобретать велосипед и вообще что-либо делать с кодировками, если уже доступен char (думаю, ТС неточно сформулировал вопрос).

Не понимаю, при чём тут UTF-8
Java
1
2
3
4
        char ch1 = 'Р';
        int chCode = Character.codePointAt(new char[]{ch1}, 0);
 
        System.out.println(chCode);
=> 1056
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
04.05.2016, 22:34 4
korvin_, Unicode code point != закодированный символ в UTF-8
мой код выводит 53408 = 0xd0A0
Вот тут есть табличка с UTF-8, можно убедиться http://www.utf8-chartable.de/u... start=1024

С 6-ти байтовыми да, проблема. Их так просто в int не засунешь
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
04.05.2016, 23:00 5
Цитата Сообщение от turbanoff Посмотреть сообщение
Unicode code point != закодированный символ в UTF-8
Так а толку от такого представления? Тем более, что
Цитата Сообщение от turbanoff Посмотреть сообщение
С 6-ти байтовыми да, проблема.
Ну возьми long. Что с этим кодом дальше делать? Впрочем, это вопрос ТСу.
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
04.05.2016, 23:35 6
вывести вроде бы ему надо было. Вся кириллица (ТСу же нужны русские буквы) в 4 байта вмещается
0
04.05.2016, 23:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2016, 23:35
Помогаю со студенческими работами здесь

Почему вместо русских букв иероглифы? ( UTF-8 )
Приветствую, форумчане. Редактирую один скрипт и в всплывающих окнах, в самой колонке...

Кодировка UTF-8 не работает, выводятся ? вместо русских букв
Добрый день, помогите, плз!! Крутила я кодировки и так и эдак и все равно выводятся знаки...

Выводит в консоль вместо русских букв квадраты
Добрый день. Подскажите пожалуйста, почему в Netbeans вместо русских букв задаваемых через консоль...

Русифицировать консоль (кракозябры вместо русских букв)
Я начинающий в С++. Вопрос такой: почему вместо того что вводишь с клавиатуры, выводится совсем не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru