Как записать csv с кодировкой windows-1251
-
Собственно вопрос в названии темы,кто вкурсе подскажите как это в басе сделать?
-
-
//utf8 to 1251 converter (1 byte format, RU/EN support only + any other symbols) by drgluck function utf8_decode (aa) { var bb = '', c = 0; for (var i = 0; i < aa.length; i++) { c = aa.charCodeAt(i); if (c > 127) { if (c > 1024) { if (c == 1025) { c = 1016; } else if (c == 1105) { c = 1032; } bb += String.fromCharCode(c - 848); } } else { bb += aa.charAt(i); } } return bb; }
посимвольно
1234qwetyйцуекеЭZ 313233347177657479D0B9D186D183D0B5D0BAD0B5D0AD5A 1234qwetyéöóåêåÝZ 313233347177657479C3A9C3B6C3B3C3A5C3AAC3A5C39D5A
здрасте, а должно получится
313233347177657479D0B9D186D183D0B5D0BAD0B5D0AD5A
но смысл тот же
получить для символа чаркод и сменить его на чаркод в нужной кодировкивероятно есть модули для ноды
-
Обясните пожалуйста что с этим кодом делать,как применить ?
Допустим есть файл 111.csv как указать что именно его нужно конвертировать?Ну и раз пришли к решению то вылезла еще 1 проблема, в цсв пишутся данные многопотоком из этого следует что по окончанию всех потоков нужно сконвертировать файл.
Каким образом дождаться выполнения всех потоков, как отловить этот момент?
-
@avtopars
дак файл нужно конвертировать или в файл нужно записать данные в 1251?
я же как вопрос в названии прочитал так и понял, а вопрос собственно там.выполнить код
-
@ruzne said in Как записать csv с кодировкой windows-1251:
@avtopars
дак файл нужно конвертировать или в файл нужно записать данные в 1251?
я же как вопрос в названии прочитал так и понял, а вопрос собственно там.выполнить код
Ну файл не принципиально,я просто так себе это представлял по опыту из первого сообщения.
Если в Вашем примере данные в переменной конвертируются - меня устраивает вполне.
Пдскажите что нужно поменять на переменную которая будет конвертироваться?
var bb на var нужная, этого достаточно? или все где встречается bb?
-
@avtopars
это функция, функцию нужно вызывать передать ей пораметры она вернет результат,
да можно, но тогда еще нужно убрать завертываение в функцию и аа надо пименять на var от куда надо, этого будет достаточно
-
Не могли бы Вы приложить проект с реализацией?
Только разбираюсь в бас и многие вещи ставят в ступор. На примре легче понимать суть.
Буду Вам очень благодарен за помощь.
Как вызвать, передать параметры это пока ступор для меня.
-
@avtopars 0_1528118216839_utfTo1251.xml
я думаю вариант с утилитой командной строки из предложения @fox им подойдет больше
-
Видимо вопрос не правильно поставлен так как проблема не решена...
Вот результат кирилицы с вашего примера открытый в екселе.
http://prntscr.com/jqoq3vВопрос как писать данные так чтоб ексель при открытии понимал кирилицу? а не выдавал эти кряказябрики.
-
@avtopars
смысл в том чтобы допустим в utf8 'я' это 1103, а в 1251 это 255
а например латинские цифры и арабские буквы что там что там
1103-848 == 255
что бас по итогу сохранить я хз, но скорее всего 'ÿ'
я хз поробуй 64 к чаркоду прибавить, но тоесть не - 848 а -848+64