Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Где объявлена строковая константа "windows-1251"?

02.02.2014, 22:33. Показов 8175. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья! Вот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package neizv;
 
import java.io.UnsupportedEncodingException;
 
 
/**
 *
 * @author ser
 */
public class Neizv {
 
    /**
     * @param args the command line arguments
     */
 
    public static void main(String[] args) throws UnsupportedEncodingException {
        String stroka = "stroka";
        byte [] s= stroka.getBytes("windows-1251");
    }
}
Строковая константа "windows-1251" компилятору известна, он на неё не ругается. Интерпретатор тоже выполняет этот код без ругани. Но откуда им известна строка "windows-1251"?

Вот вроде ссыль должна быть на эту константу, тут перечисляются кодировки. Но там нет "windows-1251"

http://docs.oracle.com/javase/... rsets.html

Залез было в исходный код getBytes,
Java
1
2
3
@param  charsetName
     *         The name of a supported {@linkplain java.nio.charset.Charset
     *         charset}
но увы и ах, там именно что сказано посмотреть ссыль
http://docs.oracle.com/javase/... arset.html

Где опять таки строка "windows-1251" отсутствует. Так где ж она есть-то? Это важно. Ведь она вполне себе компилятором распознаётся. Значит, следует ориентироваться на другие константы, объявленные в файле, где есть объявление "windows-1251". Как же мне найти её объявление? Спасибо, кто откликнется. verylazy не беспокоиться.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2014, 22:33
Ответы с готовыми решениями:

Где объявлена константа M_PI
Всем привет! Все говорят, что в файле cmath объявлены константы математические и они становятся доступны (#ifdef), если объявить...

Строковая константа
Вопрос: Непонятно почему можно так инициализировать строки, например char *szString = "Это строка"?

FCKeditor незавершенная строковая константа
Если содержимое 'oFCKeditor.Value' идет в одну строку то никаких проблем нет. А если в несколько то тишится, что 'Незавершенная строковая...

5
касаткО
 Аватар для Jetu
51 / 51 / 4
Регистрация: 01.10.2011
Сообщений: 227
02.02.2014, 23:12
Вам показать что ли какие кодировки поддерживаются ?
Java
1
2
3
4
        Map<String, Charset> charsetMap = Charset.availableCharsets();
        for (String s : charsetMap.keySet()) {
            System.out.println(s);
        }
У меня вот 169 и там есть ваша "windows-1251".
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
02.02.2014, 23:13
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.nio.charset.Charset;
import java.util.Map;
 
/**
 * @author mutagen
 */
public class CharsetsDemo {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Map<String, Charset> charsets = Charset.availableCharsets();
        for (Map.Entry<String, Charset> entry : charsets.entrySet()) {
            String key = entry.getKey();
            Charset charset = entry.getValue();
            System.out.println(key + " : " + charset.toString());
        }
    }
 
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
03.02.2014, 00:26  [ТС]
Цитата Сообщение от Jetu Посмотреть сообщение
Вам показать что ли какие кодировки поддерживаются ?
нет. Где объявлена строковая константа "windows-1251"? Вот мой вопрос. А код, подобный вашему, я бы и взял. Извините. Вопрос открыт.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
03.02.2014, 00:43
ну например стандартные объявлены в StandardCharsets
а все остальные генерируются динамически из нативной реализации
Java
1
2
3
ServiceLoader<CharsetProvider> sl =
                    ServiceLoader.load(CharsetProvider.class, cl);
                Iterator<CharsetProvider> i = sl.iterator();
ваш вопрос всё также будет открытым, так как изучать реализацию нативок дело неблагодарное )
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
03.02.2014, 07:54
В openjdk/Oracle JDK эта константа обявлена в классе sun.nio.cs.MS1251
http://grepcode.com/file/repos... S1251.java
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2014, 07:54
Помогаю со студенческими работами здесь

_Dest: невозможно присваивать значения переменной, которая объявлена как константа
Задолбали уже эти дебильные ошибки, код идеальный :rtfm: Вообще какой - то левый инклуд вылез... #include &lt;windows.h&gt; ...

Setconsolecp 1251, setconsoleoutputcp 1251 (Windows.h), сбиваются шрифты на других ПК
Пишу консольную прогу с помощью vs 2017 (v141), на windows 10, с версией sdk 10.0.17134.0, MFC - в статической библиотеке, тестил прогу на...

ПРоблема с кодировкой.String(value.getBytes('ISO-8859-1'), Encoding) где Encoding = 'windows-1251'
Господа, у меня возникла странноватая проблема с кодировкой .. может кто из вас сталкивался с этой проблемой и знает, как её разрешить .. ...

UTF-16 -> cp-1251(windows-1251)
У меня есть кириллическая строка UTF-16, которая выглядит как Хотелось бы конвертнуть её в cp-1251, чтобы она была читаема. Сколько...

Использовать EEPROM переменную не в том файле, где объявлена
Как? Например, если у меня только main.c, то я просто пишу char EEMEM ee_reports_enabtid; А если несколько файлов используют эту...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru