Что нового

Преобразование строки

DenisKu

Новичок
Сообщения
2
Репутация
0
Всем привет,

столкнулся с необходимостью преобразования строк в них содержится текстовая информация (скорее всего в UTF-8), а нужно в ANSI (Win-1251)

В ANSI я вижу исходный текст как "Левчук", по идее там содержится слово "Левчук".

Единственное, что я смог придумать это при помощи StringToBinary конвентировать текст в вид "0xCBE5E2F7F3EA20....". Если посмотреть таблицу ANSI (Win-1251), то видно, что символы CB это "Л", а E5 это "е", ну и так далее. Потом при поможи String конвертирую полученные бинарные данные в строку, потом StringSplit разбираю строку, получаю массив, потом Asc получаю коды символов потом используя пары кодов получаю код нужнуго символа, потом Chr и получаю нужную строку.

А потом я подумал: возможно существует более простой способ ? Возможно кто то сможет подсказать ?
 

Alecsis

Осваивающий
Сообщения
101
Репутация
41
Исходный текст в файле? Если да, то например так:
Код:
#include <FileConstants.au3>
Local $hIn  = FileOpen('File-in.txt', $FO_UTF8)
Local $s = FileRead($hIn)
FileClose($hIn)
Local $hOut = FileOpen('File-ANSI.txt', BitOR($FO_OVERWRITE, $FO_ANSI))
FileWrite($hOut, $s)
FileClose($hOut)
 
Автор
D

DenisKu

Новичок
Сообщения
2
Репутация
0
Исходный текст в файле? Если да, то например так:
Код:
#include <FileConstants.au3>
Local $hIn  = FileOpen('File-in.txt', $FO_UTF8)
Local $s = FileRead($hIn)
FileClose($hIn)
Local $hOut = FileOpen('File-ANSI.txt', BitOR($FO_OVERWRITE, $FO_ANSI))
FileWrite($hOut, $s)
FileClose($hOut)
Нет, но возможно, что сохранить в файл будет проще :smile:
 
Верх