- Как прочитать файл в кодировке win1251?
- Изменить кодировку в nodejs. CP1251/1252 в UTF-8
- 2 ответа 2
- How to find Encoding for 1251 codepage
- 3 Answers 3
- Not the answer you’re looking for? Browse other questions tagged c# .net encoding or ask your own question.
- Linked
- Related
- Hot Network Questions
- Subscribe to RSS
- How do I convert a Windows-1251 text to something readable?
- 3 Answers 3
- TextDecoder и TextEncoder
- TextEncoder
Как прочитать файл в кодировке win1251?
Как прочитать текстовый файл в кодировке Win1251 (VS2005)?
Проект: textbox и две кнопки для вывода текста в разных кодировках. Вывожу текст в textbox1 Unicod.
Как прочитать файл в DOS-кодировке ?
У меня есть файл в DOS-кодировке. Как мне считать оттуда строку, чтобы она нормально отображалась.
Как прочитать файл в кодировке cp1251?
Написал такой код: inputFile = codecs.open(‘input.txt’, ‘r’, ‘cp1251’) words =.
Как можно прочитать файл текстовый в кодировке UTF-8?
Как можно прочитать файл текстовый в кодировке UTF-8?(при чтении c помощью FileSystemObject вместо.
попробуй поменять в
andyj
он не знает ни win1251, 1251, windows-1251, win-1251
ну в общем я подставлял туда все, что смог придумать, везде была ошибка(
Добавлено через 1 минуту
MrOnlineCoder, iconv вроде просто переводит из одной кодировки в другую, то есть я уже прочитаю в другой(
можно загрузить файл в Buffer, а потом передать его iconv. Или вы хотите сразу прочитать в win1251?
Добавлено через 2 минуты
Добавлено через 36 секунд
Еще нашел такое:
Добавлено через 10 секунд
https://ru.stackov erflow.com/questions/770843/Помогите-с-кодировкой-cp1251-в-utf8-node-js
Добавлено через 24 секунды
Добавлено через 2 минуты
да, в notepad++
и я хочу прочитать сразу в win1251
Добавлено через 1 минуту
andyj,
первое не работает, проверял
второе вроде как раз то, что нужно.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Прочитать файл в нужной кодировке
Здравствуйте уважаемые форумчане подскажите пожалуйста. Как перевести delphi строку в C# строку.
Прочитать файл, сохраненный в любой кодировке
Доброго времени суток, товарищи! У меня проблема: Начал писать программу. За исходник решил взять.
Прочитать в массив текстовый файл в кодировке UTF-16
Имеется текстовый файл в формате UNICODE (UTF-16). Необходимо прочитать его в массив. Вот.
Прочитать файл в кодировке cp1251 и перевести в кодировки koi8r, iso88595, unicode, microsoft sp866
работа с кодовыми таблицами русского языка дан исходный текст , кодировка cp-1251 составить.
Как прочитать текст из окна EDIT в другой кодировке?
Никак не выходит у меня sha1 как должно быть. Ни с одним онлайн сервисом не совпадает. Видимо.
Файл: Привести кодировку содержимого файла к кодировке консоли и сохранить результат как новый файл.
Задача такая: Программа должна получать на вход путь к текстовому файлу, анализировать его.
Изменить кодировку в nodejs. CP1251/1252 в UTF-8
Никак не получается изменить кодировку, у меня есть парсер, выводит информацию в консоль в нормальном виде (кодировка либо CP1251, либо CP1252), но эту информацию мне надо отправлять в телеграмм по API. Мне вылазит ошибка, что кодировка должна быть UTF-8.
Если делать так:
то выводит иероглифы
2 ответа 2
Вот простой пример для iconv-lite
Ответ, отмеченный, как принятый — полный привет логике, и полное досвидание производительности.
Проблема решается неочевидно. Помимо кодировки исходника (исходные данные на источнике), многое зависит от того, каким инструментом забираете источник: node-fetch , request , axios , unirest . В случае, если данные читаются из файла, там данное решение тоже пройдет, но. там отдельная история.
Суть проблемы в том, что Привет может прилететь и из заголовков ( headers ) ответа ( response ) и даже из содержимого ответа (в случае XML — обязательно). Я двое суток смотрел на буквы э на местах всех кириллических знаков, пока не расковырял исходники всех этих фетчей и реквестов, которые думать не думают о других кодировках, кроме utf8 и других форматах данных, кроме json , и то — JSON обязательно должен быть utf8 , даже Unicode ему нельзя быть. Как в песенке про папу, который может быть кем угодно, но мамой не может быть. Хуже всего, если все-таки — думают, но полагают, что все решено.
Далее, важно в какой консоли вы смотрите ответы Ноды: Windows (XP, Vista, 7|8, 10 — ждут сюрпризы), xterm? У Вас LINUX! О! Как хорошо, что Вы не знаете, что такое KOI-8, а Ваши учителя даже про KOI-7. Относительно ровно предсказать вывод без танцев с большим шаманским бубном можно в консолях RHEL^7(CentOs^7, Fedora^17), Ubuntu^12, MacOs^X. С другими не знаком, либо неоднозначно.
Еще вопрос — удалённо если смотрите на терминал, то какой протокол, какой терминальный клиент? Допустим, что с терминалом и кодировками на терминале хорошо.
Ожидаемое решение можно получить только ручками через нативный http или node-fetch, и только тогда, когда входные данные обрабатываются как буфер.
Вот рабочий макет для песочницы. Просто поиграйтесь с вариантами (ответы функции cnw8 ), которых на просторах интернетов вагон. Почти все они — неправильные, работают только два: один здесь, а другой у Майкла Джексона.
How to find Encoding for 1251 codepage
I need to create System.Encoding for 1251 codepage.
On my russian Windows I use
I am afraid this will produce different results depending on Windows
3 Answers 3
Correct, you will get different results on different machines if you use Encoding.Default .
If you want a specific codepage, you can use Encoding.GetEncoding:
For .NET Core you also need to reference the System.Text.Encoding.CodePages package and then use Encoding.RegisterProvider:
The .NET Framework/.NET Core supports a large number of character encodings and code pages. To retrieve an encoding that is present in the .NET Framework/.NET Core pass the EncodingProvider object to the Encoding.RegisterProvider method to make the encodings supplied by the EncodingProvider object available to the common language runtime. Microsoft Document Reference
Not the answer you’re looking for? Browse other questions tagged c# .net encoding or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
How do I convert a Windows-1251 text to something readable?
I have a string, which is returned by the Jericho HTML parser and contains some Russian text. According to source.getEncoding() and the header of the respective HTML file, the encoding is Windows-1251.
How can I convert this string to something readable?
The variable bytes contains the data shown in my debugger, it’s the result of net.htmlparser.jericho.Element.getContent().toString().getBytes() . I just copy and pasted that array here.
This doesn’t work — readableString contains garbage.
How can I fix it, i. e. make sure that the Windows-1251 string is decoded properly?
Update 1 (30.07.2015 12:45 MSK): When change the encoding in the call in convertString to Windows-1251 , nothing changes. See the screenshot below.
Update 2: Another attempt:
Update 3 (30.07.2015 14:38): The texts that I need to decode correspond to the texts in the drop-down list shown below.
Update 4 (30.07.2015 14:41): The encoding detector (code see below) says that the encoding is not Windows-1251 , but UTF-8 .
3 Answers 3
(In the light of updates I deleted my original answer and started again)
The text which appears
is an accurate decoding of these byte values
(Padded at either end with 32, which is space.)
1) The text is garbage or
2) The text is supposed to look like that or
3) The encoding is not Windows-1215
This line is notably wrong
Extracting the bytes out of a string and constructing a new string from that is not a way of «converting» between encodings. Both the input String and the output String use UTF-16 encoding internally (and you don’t normally even need to know or care about that). The only times other encodings come into play are when text data is stored OUTSIDE of a string object — ie in your initial byte array. Conversion occurs when the String is constructed and then it is done. There is no conversion from one String type to another — they are all the same.
The fact that this
does the same as this
suggests that Windows-1251 is the platforms default encoding. (Which is further supported by your timezone being MSK)
TextDecoder и TextEncoder
Что если бинарные данные фактически являются строкой? Например, мы получили файл с текстовыми данными.
Встроенный объект TextDecoder позволяет декодировать данные из бинарного буфера в обычную строку.
Для этого прежде всего нам нужно создать сам декодер:
- label – тип кодировки, utf-8 используется по умолчанию, но также поддерживаются big5 , windows-1251 и многие другие.
- options – объект с дополнительными настройками:
- fatal – boolean, если значение true , тогда генерируется ошибка для невалидных (не декодируемых) символов, в ином случае (по умолчанию) они заменяются символом \uFFFD .
- ignoreBOM – boolean, если значение true , тогда игнорируется BOM (дополнительный признак, определяющий порядок следования байтов), что необходимо крайне редко.
…и после использовать его метод decode:
- input – бинарный буфер ( BufferSource ) для декодирования.
- options – объект с дополнительными настройками:
- stream – true для декодирования потока данных, при этом decoder вызывается вновь и вновь для каждого следующего фрагмента данных. В этом случае многобайтовый символ может иногда быть разделён и попасть в разные фрагменты данных. Это опция указывает TextDecoder запомнить символ, на котором остановился процесс, и декодировать его со следующим фрагментом.
Мы можем декодировать часть бинарного массива, создав подмассив:
TextEncoder
TextEncoder поступает наоборот – кодирует строку в бинарный массив.
Имеет следующий синтаксис:
Поддерживается только кодировка «utf-8».
Кодировщик имеет следующие два метода:
- encode(str) – возвращает бинарный массив Uint8Array , содержащий закодированную строку.
- encodeInto(str, destination) – кодирует строку ( str ) и помещает её в destination , который должен быть экземпляром Uint8Array .