• VB6에서 문자는 내부적으로는 유니코드로 처리된다.
    유니코드로 저장될때는 영문이던, 한글이던 어떤 문자가 저장될 때는 2바이트가 필요하다.
    유니코드가 메모리에 저장될때에는 바이트 순서가 바뀌어서 저장된다.(8086 계열)
    "가"라는 문자가 저장된다고 할때. "가"에 문자의 유니코드는 &HAC00이다. 이것이 메모리에 저장될때는
    첫번째 바이트에 &h00이 두번째 바이트에는 &hAC가 저장된다.

    기본 내장함수 asc와 ascb와 ascw의 차이점을 보면
    -asc에서 인수에 전달한 값은 유니코드로 간주하며 주어진 인수의 2바이트를 ANSI 문자로 바꾸어 그 코드를 반환한다.
    즉, asc("가")를 하게 되면 "가"에 대한 유니코드 값이 반환 되는 것이 아니라 "가"에 대한 ANSI 코드가 반환단다.
  • ascb는 주어진 인수가 유니코드인지 ANSI 코드 인지 관계없이 메모리에 저장된 첫번째 바이트 값을 반환한다.
    즉 ascb("가")를 하개 되면 &h00이 반환된다.
  • ascw는 주어진 인수가 유니코드라고 간주하고 인수의 2바이트 값을 얻은후에 서로 위치를 바꾼후의 값을 반환한다.
    ascw("가")를 하게 되면 &HAC00이 반환된다.
  • 한가지 더, midb도 마찬가지로 현재 메모리에 저장된 순으로 값을 가져온다.

 

 

 

 

 

 

+ Recent posts