powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / В какой кодировке студия создает строки?
15 сообщений из 15, страница 1 из 1
В какой кодировке студия создает строки?
    #34876669
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если создать строку в студии типа:
char *str = "Строка", то при сохранении в файл она будет в win1251 (если не ошибаюсь), т.е. внутри программы такие строки хранятся в этой кодировке? так?

Если да, то где это задается в настройках студии, если вообще задается?

Теперь, у меня есть текст, например в файле, я его считываю в буфер, и мне нужно отыскать там эту строку. Для этого я должен быть уверен, что и текст считанный из файла и моя статическая строка созданная компилятором в одной кодировке.

1. Как мне узнать во время выполнения программы, в какой кодировке компилятор сохранил эти строки в исполняемом файле?
2. Как мне узнать в какой кодировке открытый мною файл? (в частности koi-r8 или win-1251)
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34876698
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik пишет:
> Теперь, у меня есть текст, например в файле, я его считываю в буфер, и
> мне нужно отыскать там эту строку. Для этого я должен быть уверен, что и
> текст считанный из файла и моя статическая строка созданная компилятором
> в одной кодировке.
>
> 1. Как мне узнать во время выполнения программы, в какой кодировке
> компилятор сохранил эти строки в исполняемом файле?
> 2. Как мне узнать в какой кодировке открытый мною файл? (в частности
> koi-r8 или win-1251)

Бедный, как же его колбасит !


В общем, разясняю. Кодировка в файле такая, какую ты туда записал.
ЕЕ ПРОСТО НАДО ЗНАТЬ.
Во время выполнения программы узнать, в какой кодировке какой-то
файл нельзя. Надо ПРОСТО ЗНАТЬ В КАКОЙ ОНО КОДИРОВКЕ. Априоре.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34876705
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TubrikЕсли создать строку в студии типа:
char *str = "Строка", то при сохранении в файл она будет в win1251 (если не ошибаюсь), т.е. внутри программы такие строки хранятся в этой кодировке? так?Не совсем так. Если не ставить модификторов, то строковые константы будут превращены char массивы, в которых одна буква=один char точно в той кодировке в которой они написаны в исходном тексте программы. С модификатором может быть все что угодно. Например L"hello" сделает тебе стороку в UTF-16.
Текстовый редактор студии пишет константы в системной кодировке. То есть если у тебя в винда настроена по умолчанию на cp1251, то и константы будут в ней.

TubrikТеперь, у меня есть текст, например в файле, я его считываю в буфер, и мне нужно отыскать там эту строку. Для этого я должен быть уверен, что и текст считанный из файла и моя статическая строка созданная компилятором в одной кодировке.Переходи с текстовых констант на цифровые. Задай свою строку в виде:
Код: plaintext
char *hello = { 104 , 101 , 108 , 108 , 111 , 0 };
и ты будешь точно уверен в побайтовом значении строки.

Tubrik1. Как мне узнать во время выполнения программы, в какой кодировке компилятор сохранил эти строки в исполняемом файле?Во время выполнения? Ну например сделай себе несколько массивов, в каждый запиши строку "привет" цифрами, но в разных кодировках. А потом сравнивай текстовую константу привет со всеми этими массивами по очереди. С каким совпадет - значит в той кодировке и все твои константы.

Tubrik2. Как мне узнать в какой кодировке открытый мною файл? (в частности koi-r8 или win-1251)Сделать статистический анализ.
Самая часто встречаемая буква в русском тексте это "Е", вторая по частоте... не помню... Считаешь какой байтик в тексте встречается чаще всего, какой на втором месте, какой на третьем. Потом сравниваешь полученую группу лидеров с наборами этих букв в соотвествющей кодировке.
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34876729
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, понял
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34876822
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlСамая часто встречаемая буква в русском тексте это "Е"хм, всегда считал, что это "О"
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34877157
pandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас White OwlСамая часто встречаемая буква в русском тексте это "Е"хм, всегда считал, что это "О"
Целая кандидатская:
Автоматическое определение кодировки текста . Там же и частоты встречаемости.
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34878840
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас White OwlСамая часто встречаемая буква в русском тексте это "Е"хм, всегда считал, что это "О"эээ... ну да, с английским перепутал :(
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34878852
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34878860
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh оно?
вроде да, благодарю
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34882326
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВо время выполнения программы узнать, в какой кодировке какой-то
файл нельзя. Надо ПРОСТО ЗНАТЬ В КАКОЙ ОНО КОДИРОВКЕ. Априоре.
Коллега, позвольте не согласиться. Если на этапе выполнения программы неизвестно в какой кодировке находиться используемый ею текст (в т.ч. находящийся в файле) - то узнать её можно.
Можно даже заодно узнать на каком языке этот текст.

Единственно - это должен быть нормальный текст на этом языке. Абракадабра плохо распознаётся. :)
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34882327
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, ну да, pandrew меня опередил...
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34883939
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amdei пишет:
> неизвестно в какой кодировке находиться используемый ею текст (в т.ч.
> находящийся в файле) - то узнать её можно.
> Можно даже заодно узнать на каком языке этот текст.

Достоверно, или с какой-то вероятностью ? Второе не называется
"можно узнать", оно называется "можно попробовать угадать".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34888586
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достоверно, естественно, не получиться.
Ибо метод-таки вероятностный. :)
Пример: MnogoSearch MGuesser
вероятность ошибки первого рода для текстов более 200-символов - менее 1%
И это при условии что там алгоритм совсем топорный.

Есть пример удачного решения и более сложной задачи: установления идентичности одного и тогоже имени человека на разных языках (почти на всех языках мира). Это шоб когда в новостях на разных континентах пишут про какую-то персону, знать что это про одну и ту же. Среднюю длинну и имени представляешь? Ошибок - кот наплакал. Но там и математика соответствующая.
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34889282
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Amdei wrote:
> Достоверно, естественно, не получиться.
> Ибо метод-таки вероятностный. :)
> Пример: MnogoSearch MGuesser
> вероятность ошибки первого рода для текстов более 200-символов - менее 1%
> И это при условии что там алгоритм совсем топорный.
>
> Есть пример удачного решения и более сложной задачи: установления
> идентичности одного и тогоже имени человека на разных языках (почти на
> всех языках мира). Это шоб когда в новостях на разных континентах пишут
> про какую-то персону, знать что это про одну и ту же. Среднюю длинну и
> имени представляешь? Ошибок - кот наплакал. Но там и математика
> соответствующая.

А что в этом сложого? имхо - все-таки сам текст новостей совпадает по
языку и кодировке с именами. Да и, я данного ресурса, сохраняется от
ыпуска к выпуску. На худой конец - имена короткие, их проще закодировать
во всех известных кодировках и вперед. Кстати, AFAIK, это и будет самой
серьезной математикой для пределения кодировки. Я как-то пробовал
написать такое - использовние цепочек из двух символов распознает
кодировку по 10-20 буквам нормального текста. И на практике (я использую
его в xemacs), некорректные распознавания были только для специально
подобраных мною текстов или очень кротких (одно-два слова). Хотя это,
все равно, не показатель.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
В какой кодировке студия создает строки?
    #34889631
Amdei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там основная сложность не в том, чтобы определить в какой кодировке это имя написано, а в том, чтобы понять что это одно и то же имя.
Piter=Пётр. А как это по арабски будет, где гласные не пишутся?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / В какой кодировке студия создает строки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]