Конвертация данных в кодировку UTF-8
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 29: | Строка 29: | ||
<syntaxhighlight lang="vbnet"> | <syntaxhighlight lang="vbnet"> | ||
Option Explicit | Option Explicit | ||
| − | Sub | + | Sub LoadXML_UTF8 |
Const fmOpenRead = 0 | Const fmOpenRead = 0 | ||
Версия 19:12, 14 мая 2016
Запись в файл данных в кодировке UTF-8:
Option Explicit Sub SaveXML_UTF8 Const fmCreate = &HFFFF& Const FileName = "c:\temp\test.xml" Dim MS, FS, Creator Set Creator = New TCreator Set MS = Creator.GetObject(nil, "TMemoryStream", "") MS.WriteLn("<?xml version=""1.0"" encoding=""UTF-8""?>") MS.WriteLn("<note>") MS.WriteLn(" <text>" & _ System.ReplaceXMLTags("Кириллический текст cо специальными символами < > "" ' &")) &_ "</text>" MS.WriteLn("</note>") Set FS = Creator.GetObject(Array(FileName, fmCreate), "TFileStream", "") Call System.WIN1251ToUTF8(MS, FS) End Sub
Загрузка из файла данных в UTF-8 и перекодировка в WIN1251:
Option Explicit Sub LoadXML_UTF8 Const fmOpenRead = 0 Const FileName = "c:\temp\test.xml" Dim SS, FS, Creator Set Creator = New TCreator Set FS = Creator.GetObject(Array(FileName, fmOpenRead), "TFileStream", "") Set SS = Creator.GetObject(Array(""), "TStringStream", "") Call System.UTF8ToWIN1251(FS, SS) MsgBox System.ExpandXMLTags(SS.DataString) End Sub