자료실

부자는 돈을 써서 시간을 아끼지만 가난한 사람은 시간을 써서 돈을 아낀다

vb6.0/vba

IT HUB를 찾아주셔서 감사합니다.

vb6.0/vba [vb6.0/vba] "ADODB.Stream"을 이용한 UTF-8 encoding

페이지 정보

profile_image
작성자 하나를하더라도최선을
댓글 0건 조회 5,466회 작성일 20-02-12 20:49

본문

Public Function UTF8(StringVal As String, Optional SpaceAsPlus As Boolean = True) As String

Dim bytes() As Byte, b As Byte, i As Integer, space As String

If SpaceAsPlus Then space = "+" Else space = "%20"

If Len(StringVal) > 0 Then

With CreateObject("ADODB.Stream")

.Mode = 3 '// adModeReadWrite

.Type = 2 '// adTypeText

.Charset = "UTF-8"

.Open

.WriteText StringVal

.Position = 0

.Type = 1 '// adTypeBinary

.Position = 3 ' skip BOM

bytes = .Read

End With

ReDim result(UBound(bytes)) As String

For i = UBound(bytes) To 0 Step -1

b = bytes(i)

Select Case b

Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 95, 126

result(i) = Chr(b)

Case 32

result(i) = space

Case 0 To 15

result(i) = "%0" & Hex(b)

Case Else

result(i) = "%" & Hex(b)

End Select

Next i

댓글목록

등록된 댓글이 없습니다.