Конвертация данных в кодировку UTF-8

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Запись в файл данных в кодировке UTF-8: <syntaxhighlight lang="vbnet"> Option Explicit Sub SaveXML_UTF8 Const fmCreate = &HFFFF& …»)
 
Строка 22: Строка 22:
 
   Set FS = Creator.GetObject(Array(FileName, fmCreate), "TFileStream", "")
 
   Set FS = Creator.GetObject(Array(FileName, fmCreate), "TFileStream", "")
 
   Call System.WIN1251ToUTF8(MS, FS)
 
   Call System.WIN1251ToUTF8(MS, FS)
 +
End Sub
 +
</syntaxhighlight>
 +
 +
Загрузка из файла данных в UTF-8 и перекодировка в WIN1251:
 +
 +
<syntaxhighlight lang="vbnet">
 +
Option Explicit
 +
Sub Macros147012679_591807334
 +
 +
  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
 
End Sub
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
[[Category:Импорт/экспорт данных]]
 
[[Category:Импорт/экспорт данных]]

Версия 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 Macros147012679_591807334
 
  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
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты