Dos to Win encodding
От: Аноним  
Дата: 06.12.07 10:50
Оценка:
Плиз, подскажите, нужно перекодировать содержание файлика из досовской в виндовую кодировку, при этом читать и писать в один файл. Вот такой скриптец выполняется без ошибок, но получается пустышка, кодировка не меняется, подскажите чего поменять в нем?
Dim l_lReturn, l_sSource, l_sDestination, fso, f 
Function oemtochar(s) 
Dim i,k
  For i=1 To Len(s) 
    k = Asc(Mid(s,i,1))  
    If (128 <= k) And (k <= 175) Then 
      k=k+64 
    ElseIf (224 <= k) And (k <= 239) Then 
      k=k+16 
    ElseIf k = 240 Then 
      k=168 
    ElseIf k = 241 Then 
      k=184 
    End If 
    l_sSource=l_sSource+Chr(k) 
  Next 
oemtochar=l_sSource 
Const ForReading = 1, ForWriting = 2 
   Set fso = CreateObject("Scripting.FileSystemObject") 
   Set f = fso.OpenTextFile("c:\print.txt", ForReading) 
   l_sSource =   f.ReadAll 
f.close 
   l_sDestination = Space(Len(l_sSource)) 
   l_lReturn = oemtochar(l_sSource, l_sDestination) 
   Set f = fso.OpenTextFile("c:\print.txt", ForWriting, True) 
   f.write l_sDestination 
f.close
End Function
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.