한글을 Byte 단위로 길이 구하기
VB에서 Len("테스트") 로 길이를 구하면 3이 리턴된다.
어떤 떄는 이런게 필요할 때도 있지만 간혹 바이트 단위로 알고 싶을 떄가 있다.
그럴땐 아래와 같은 함수를 만들어서 사용하면 된다.
Function nLeft ( ByVal strTmp As String )
Dim bytesize As Integer
bytesize = 0
' 문자열 길이 만큼 반복하면서 문자길이만큼 잘라오기
For i = 1 to Len(strTmp)
' 한글과 영문을 구분하기
If Asc( Mid(strTmp , i , 1 ) ) > 0 Then '한글값은 0보다 작다
bytesize = bytesize + 1 '한글이 아닌경우 즉 영문은 1Byte
Else
bytesize = bytesize + 2 '한글인 경우 2Byte
End If
Next
nLeft = bytesize
End Function
Dim bytesize As Integer
bytesize = 0
' 문자열 길이 만큼 반복하면서 문자길이만큼 잘라오기
For i = 1 to Len(strTmp)
' 한글과 영문을 구분하기
If Asc( Mid(strTmp , i , 1 ) ) > 0 Then '한글값은 0보다 작다
bytesize = bytesize + 1 '한글이 아닌경우 즉 영문은 1Byte
Else
bytesize = bytesize + 2 '한글인 경우 2Byte
End If
Next
nLeft = bytesize
End Function