Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Дядя Федор
еще мулька
Function EncodeUTF8(S)
Dim I, c, utfc, b1, b2, b3

For I = 1 To Len(S)
c = ToLong(AscW(Mid(S, I, 1)))
Debug.Print I, Mid(S, I, 1), "c=" & c
If c < 128 Then
If (c = 13) Or (c = 10) Then
utfc = ChrW(c)
Else
utfc = Chr(c)
End If
ElseIf c < 2048 Then
b1 = c Mod &H40
b2 = (c - b1) / &H40
utfc = Chr(&HC0 + b2) & Chr(&H80 + b1)
ElseIf c < 65536 And (c < 55296 Or c > 57343) Then
b1 = c Mod &H40
b2 = ((c - b1) / &H40) Mod &H40
b3 = (c - b1 - (&H40 * b2)) / &H1000
utfc = Chr(&HE0 + b3) & Chr(&H80 + b2) & Chr(&H80 + b1)
Else
' Младший или старший суррогат UTF-16
utfc = Chr(&HEF) & Chr(&HBF) & Chr(&HBD)
End If

EncodeUTF8 = EncodeUTF8 + utfc
Debug.Print "utf=" & utfc
Next
End Function

Переводит хорошо, но теряет переводы строк.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.