Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vdvoid
3 / 3 / 0
Регистрация: 26.02.2011
Сообщений: 99
#1

Вопрос по кодировке - C++

20.03.2011, 23:18. Просмотров 625. Ответов 5
Метки нет (Все метки)

Вопрос необычный, но совершенно не понимаю как система работает с кодовыми таблицами, и почитать об этом не где, в инете есть инфа только про сами кодовые таблицы. Заранее спасибо.
1. Где в Windows хранятся кодовые таблицы?
2. Как программа, например блокнот, узнает с помощью какой кодовой таблицы преобразовывать байты в понятный текст, неужели перебором байтом для нахождения подходящей кодовой таблицы?
3. Только начинаю писать на C++ (до этого писал web и особо не вникал в кодировки), и тут появилось непонимание всего этого.. Когда компилируется файл с приложением:
3.1 В какой кодировке хранится скомпилированный код программы?
3.2 Как система разбирает этот код и как она узнает о кодировке проекта. Типы char и wchar_t - опять же какие это кодировки?
3.3 Строковые типы char и wchar_t это всегда 1 и 2 байта, но как быть с utf, где для записи одного символа может быть как 1 так и 4 байта??
3.4 Кодировка проекта (в VS) означает кодировку текстовых файлов .cpp? где тогда задается кодировка строковых типов.
В общем немогу найти где об этом почитать, если у когото есть ссылочка, киньте почитать) спс
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2011, 23:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по кодировке (C++):

Вопрос о кодировке - C++
Как в Visual Studio выводить символы такого плана └ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ Просто через printf() не работает программа. И...

Вопрос по кодировке ASC II - C++
Вообщем мне нужен ответ на данный вопрос: "Какие кодовые комбинации в коде ACS II предназначены для расширения кодовой таблицы?" ...

Общий вопрос по кодировке программ под Windows - C++
Помогаю с переводом одной англоязычной программы (она на C++, но не уверен имеет ли это значение) на русский. От разработчика этой...

Char* не в той кодировке - C++
Я читая память процесса игры и пытаюсь получить имя нужного мне обьекта, проблем найти нужный адрес труда не составило но в имени обьекта...

О кодировке бинарных файлов - C++
Здравствуйте;Тут такая проблема:Как заполнять бинарные файлы? Просто я если создаю обычный файл и пихаю туда обычные числа то он...

Записать в блокнот в кодировке UTF-8 - C++
Здравствуйте, как записывать и считывать строки в кодировке UTF-8 ?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.03.2011, 23:28 #2
Цитата Сообщение от vdvoid Посмотреть сообщение
1. Где в Windows хранятся кодовые таблицы?
Все программы -> Стандартные -> Служебные -> Таблица символов - это ?
0
vdvoid
3 / 3 / 0
Регистрация: 26.02.2011
Сообщений: 99
21.03.2011, 00:00  [ТС] #3
мм не то)
0
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
21.03.2011, 00:32 #4
Цитата Сообщение от vdvoid Посмотреть сообщение
мм не то)
C:\WINDOWS\system32\*.nls
msdn:
About National Language Support

Добавлено через 1 минуту
Цитата Сообщение от vdvoid Посмотреть сообщение
3.1 В какой кодировке хранится скомпилированный код программы?
К коду программы не применимо понятие кодировки.
Строки, и любой другой англоязычный текст хранится хрен знает в какой кодировке, но коды символов всегда одни и теже. Русскоязычный текст хранится в той кодировке, что и исходный файл.

Добавлено через 4 минуты
Цитата Сообщение от vdvoid Посмотреть сообщение
3.4 Кодировка проекта (в VS) означает кодировку текстовых файлов .cpp? где тогда задается кодировка строковых типов.
Русские константы сохраняются в кодировке файла.
Если ты пишешь программу только на английском, абсолютно пофигу какая кодировка.
1
vdvoid
3 / 3 / 0
Регистрация: 26.02.2011
Сообщений: 99
21.03.2011, 00:57  [ТС] #5
Код программы представлен в двоичном коде, который записан не просто так а посредством какойто кодировки, что бы при выполнении программы можно было считать двоичные данные и преобразовать в понятные символы. Вот что происходит при компиляции не понимаю, если можно задать в настройках одну кодировку тогда понятно, но есть же ситуации где в проектах и char и wchar_t и в них разный размер а соответственно разные кодировки

Добавлено через 11 минут
char a = 'b';
char b = 'ы';
char c = 'ﭯ';

cout << sizeof(char); // 1

вот здесь размер char 1 байт
сохранить последние две константы можно только с помощью других типов, в какой кодировке они сохраняться)
0
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
21.03.2011, 01:10 #6
Цитата Сообщение от vdvoid Посмотреть сообщение
Код программы представлен в двоичном коде, который записан не просто так а посредством какойто кодировки, что бы при выполнении программы можно было считать двоичные данные и преобразовать в понятные символы.
Код программы представлен в виде последовательности байтов, а не в двоичном виде.
Это человек представляет его в двоичном.
Понятие кодировка не применима к коду. Во время выполнения программы не происходит никаких преобразований символов. Как символы строковой константы записаны, так они и скормятся функции.

Добавлено через 7 минут
Более подробно о том что такое код: Структура команд Intel 80x86
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2011, 01:10
Привет! Вот еще темы с ответами:

Считывание из файла в нужной кодировке - C++
Почему при считывание файла выдает кракозябры ? Содержимое файла: char *text; ifstream read; read.open(&quot;read.txt&quot;); ...

Вывод строки в неверной кодировке - C++
// Lab4_Seravin(UC8-31).cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include...

Создание файла в UTF-8 кодировке - C++
Здравствуйте! Как сделать что бы в данной ситуации файл создавался в utf-8 DWORD tmp0; TCHAR buffer; bool test; ...

Формат строки в кодировке Unicode? - C++
Какой формат соответствует строке в кодировке UNICODE?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.03.2011, 01:10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru