예전에 PHP로 네이버 카페채팅 봇을 만들었는데 최근에 다시 수정하고있다.
PHP에서 유니코드 ex) Ӓ 같은 것을 어떻게 처리해야 될지 몰라서 구글링을 해보았지만
'뷁'과 같은 한글만 유니코드로 바꾸는 것에 대한 답은 나오지 않았다.
다른 지인에게 물어보기도 하고 열심히 삽질을 하면서 드디어 유니코드 처리를 성공했다.
기분 굿 :D
VB6의 몇가지 문자열과 관련된 내장 함수을 알아보자.
'-- Asc : 문자를 아스키코드로 변환
'-- Asc(문자)
MsgBox Asc("A") '-- 65
'-- Chr : 아스키코드를 문자로 변환
'-- (Chr$로 사용하는 것이 처리가 좀 더 빠름)
'-- Chr$(숫자)
MsgBox Chr$(65) '-- "A"
'-- Left : 문자열의 왼쪽부터 n자를 가져옴
'-- (Left$로 사용하는 것이 처리가 좀 더 빠름)
'-- Left$(문자열, 길이)
MsgBox Left$("안녕하세요", 2&) '-- "안녕"
'-- Right : 문자열의 오른쪽부터 n자를 가져옴
'-- (Right$로 사용하는 것이 처리가 좀 더 빠름)
'-- Right$(문자열, 길이)
MsgBox Right$("안녕하세요", 2&) '-- "세요"
'-- Mid : 문자열의 시작 위치와 길이를 지정하여 그만큼의 문자열을 가져옴
'-- (Mid$로 사용하는 것이 처리가 좀 더 빠름)
'-- Mid$(문자열, 시작 위치[, 길이])
'-- 길이를 생략하면 시작 위치부터 문자열의 끝까지
MsgBox Mid$("안녕하세요", 2&, 3&) '-- "녕하세"
MsgBox Mid$("안녕하세요", 3&) '-- "하세요"
'-- Len : 문자열의 길이(문자수)를 가져옴
'-- Len(문자열)
MsgBox Len("안녕하세요") '-- 5
'-- LenB : 문자열의 바이트수를 가져옴
'-- LenB(문자열)
'-- VB6은 유니코드이므로 영어도 2바이트로 처리함
'-- 정확한 바이트 수를 가져오려면 StrConv 함수를 통하거나, API를 이용해야 한다.
MsgBox Len("안녕하세요abcde") '-- 10
'-- InStr : 문자열에 문자가 포함되었으면 해당 위치를 가져오고, 없으면 0을 반환함
'-- InStr([시작 위치, ]문자열, 찾을 문자)
'-- 시작 위치를 생략하면 처음부터 찾음
MsgBox InStr("안녕하세요", "녕") '-- 2
MsgBox InStr(1&, "안녕하세요", "녕") '-- 2
MsgBox InStr(2&, "안녕하세요안녕하세요", "녕") '-- 7
'-- LTrim : 문자열 왼쪽의 공백을 없앰
'-- (LTrim$으로 사용하는 것이 처리가 좀 더 빠름)
'-- LTrim$(문자열)
MsgBox LTrim$(" 안녕하세요 ") '-- "안녕하세요 "
'-- RTrim : 문자열 오른쪽의 공백을 없앰
'-- (RTrim$으로 사용하는 것이 처리가 좀 더 빠름)
'-- RTrim$(문자열)
MsgBox RTrim$(" 안녕하세요 ") '-- " 안녕하세요"
'-- Trim : 문자열 왼쪽, 오른쪽의 공백을 없앰
'-- (Trim$으로 사용하는 것이 처리가 좀 더 빠름)
'-- Trim$(문자열)
MsgBox Trim$(" 안녕하세요 ") '-- "안녕하세요"
'-- Str : 숫자를 문자형식으로 바꿈. (= CStr)
'-- Str(숫자), CStr(숫자)
MsgBox Str(1234&) '-- "1234"
'-- Val : 문자열에 있는 숫자를 Double 형으로 반환함
'-- (단, 숫자로 시작해야하며, 숫자가 아닌 문자가 나오면 거기까지'-- 만 반환. 없으면 0)
'-- Val(문자열)
MsgBox Val("가나다") '-- 0
MsgBox Val("-1234.123") '-- -1234.123
MsgBox Val("1234") '-- 1234
'-- Space : n개의 공백을 반환함
'-- (Space$로 사용하는 것이 처리가 좀 더 빠름)
'-- Space$(숫자)
MsgBox Space(5&) '-- " "
'-- String : 지정한 문자를 n회 반복함
'-- (String$으로 사용하는 것이 처리가 좀 더 빠름)
'-- String$(숫자, 문자)
MsgBox String(5&, "A") '-- "AAAAA"
'-- UCase : 문자열의 모든 영어를 대문자로 변경
'-- (UCase$로 사용하는 것이 처리가 좀 더 빠름)
'-- UCase$(문자열)
MsgBox UCase$("AbCdE") '-- "ABCDE"
'-- LCase : 문자열의 모든 영어를 소문자로 변경
'-- (LCase$로 사용하는 것이 처리가 좀 더 빠름)
'-- LCase$(문자열)
MsgBox LCase$("AbCdE") '-- "abcde"
