비베기준으로 작성합니다.
문자의바이트를 알려고 할때
바이트는 기본적으로
0~255 을 기준으로 한다
16 진수로는 0~FF 로표기 비베에서 16진수는 &H 로
표시한다
&HFF = 255
함수정리 바이트 표시
Asc(문자) = 는 한문자를 바이트로 바꾸어준다
Asc("가")
= -20319 즉 10진수다 바이트는 16진수나 2진수로 읽는 것이 적당하다 (치에생각)
hex(Asc("가"))
= B0A1 이다.! (2바이트 한문자이다)
* 10진수와 (16진수 2진수)의 차이점은 0보다 크냐 작냐이다~
즉 16진수와
2진수는 에서는 -값을 정하지 않았다
10진수에서는 -값을정하는데 2진수로 표시하면
1011000010100001
이다 즉 젤앞에는 음수와 양수를 알리는것이다.
따라서 젤앞이 1은 -의 역활을
한다.
그래서 10진수에서는 -20319가된다 이점을유의하기바랍니다.
참고(16진수나
2진수에서두 음수부호와 양수 부호를 사용합니다. 단 기준이 다를뿐입니다.)시각적이라해야하나
또한 기존소스에서
'<<<<<<<<<<<<<<<<<<<<<<<<
'
수정할소스
dim text as byte
line = "\1256"
text = Asc(Mid(line, 1,
1))
'>>>>>>>>>>>>>>>>>>>>>>>>
'<<<<<<<<<<<<<<<<<<<<<<<<
'
수정할소스
dim text as byte
text = AscB(line)
' 이렇게 표현할수다 있다
'>>>>>>>>>>>>>>>>>>>>>>>>
Asc("문자")
함수는 문자의 첫부분을 문자코드로
바꾼다는말이 적당하다
AscB("문자") 함수의
설명은 이것은 문자의 첫1바이트를 1바이트로
표시를 한다
단조합문자는 지원하지 않는다.. 아마!
조합문자를 사용할경우에는
문자코드를 나타낼수있는 Asc() 함수를 사용해야겠죠
비베에서 기본은 한글영문다
글자의 수를 기준으로 합니다.
때문에 바이트를 나타내고 싶을때는 바이트를 표시하는다른
함수를 사용해야 합니다.
이제 "가" 의 바이트 표시는 여기서 마치고 자르는 방법이다~
a
라는 변수(바이트)에 "가"의 문자코드 첫바이트(&HB0A1)를
넣구
b 라는 변수(바이트)에 "가"의 문자코드 두번째바이트(&HB0A1)를
집어넣는다
c 라는 변수(문자)에는 a변의를 첫바이트로하고 b변수를 두번째바이트로
해서
합한값(&HB0A1)을 넣는다.
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
'
소스코드 좀 복잡하게 하겠습니다
Dim a As Byte
Dim
b As Byte
Dim c As String
a
= Val("&h" & Left(Hex(Asc("가")), 2)) ' "가"의
상위바이트 추출
b = Val("&h"
& Right(Hex(Asc("가")), 2)) ' "가"의 하위바이트 추출
c
= Chr("&h" & Hex(a) & Hex(b)) ' a값을 상위 바이트로 b값을
하위바이트로합니다.
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
**부분적
풀이 a 값
a = Val("&h" &
Left(Hex(Asc("가")), 2)) ' "가"의 상위바이트 추출
Asc("가")
----
"가" 문자를 문자코드 로 바꿈 = -20319
Hex( -20319
) ---- "가" 문자코드는 16진수(문자)로변환
(계산하기 조케할려구) = "B0A1"
Left("B0A1",
2)) ---- 16진수문자 "B0A1"에서
앞에 2개를 땀~ = "B0"
Val("&h"
& "B0")) ---- "B0"
문자를 16진수 로 표기 "&h80" 해서 정수로 바꾸어준다 = 176
a = 176 ----
결과
**부분적 풀이 b 값
b = Val("&h"
& Right(Hex(Asc("가")), 2)) ' "가"의 하위바이트 추출
' 이것도 같은방법으로
하되 압족이 아닌 뒤쪽은 딴다. "B0A1"
b= 161 ----
결과
**부분적 풀이 c 값
c = Chr("&h"
& Hex(a) & Hex(b)) ' a값을 상위 바이트로 b값을 하위바이트로합니다.
Hex(a) 는
a 값을 16진수문자형으로 바꾼다 = "B0"
Hex(b) 는
b 값을 16진수문자형으로 바꾼다 = "A1"
"&h"
& "B0" & "A1" 가각의 문자를 합한다(붙인다) = "&hB0A1"
Chr("&hB0A1")
는 숫자를 아스키코드 값으로 바꾼다.
Chr()함수를
사용하는이유는 문자로 인식하지않고 문자코드임을 알려주기위해서입니다.
즉,
숫자의 값을 문자로 바꾸는 역할이랍니다.
c
= "가" -------
결과
이렇게 해서 한글자를 바이트로 잘라서 다시 붙여서 다시 글자로
바꾸는 법을 배웠습니다.
자 요리시간 끝났습니다. 다음주 이시간에~~~~~
비베로만
해결할려니 공부 엄청해야겠써요~ 아휴 머리딸려라~
첫댓글 설명하기 무지힘드네 한시간 가까이 걸렸써염~ 빼빼로두 안주구.......ㅋㅋㅋ