특정 글자의 "유니코드 값"을 구하는 방법입니다. 유니코드 값이란, 유니코드 번호, 즉 "유니코드 코드 포인트(Code Point)"입니다. 1바이트(8비트)인 아스키 코드와 달리, 2바이트(16비트)입니다.

우선 울트라에디트 등의 편집기를 사용하여, 펄 소스 자체를 "UTF-8 유니코드"로 변환해 주어야 합니다.

그런 후 펄 소스에

use utf8;

이런 프라그마를 삽입합니다. 그러면 이제 유니코드 문자열을 펄 소스에 쓸 수 있고, 펄의 내장 함수들도 유니코드 모드로 작동합니다.

이렇게 해 주지 않으면, ord() 함수가, 유니코드 값이 아닌 그냥 아스키 코드 값을 출력합니다.

ord() 함수로, "유니코드 문자 번호" 알아내기 예제


(UTF-8 유니코드로 다음 예제 소스를 저장해야 함)
#!/usr/bin/perl
use strict; use warnings;

use utf8;


  my $s = "가";
  printf("%04X\n", ord($s));
  # 출력 결과: AC00

  printf("%04X\n", ord("天"));
  # 출력 결과: 5929

  printf("%04X\n", ord("Z"));
  # 출력 결과: 005A



한글 낱자 "가"의 유니코드 값은, 즉 유니코드 코드 번호는 16진수로 0xAC00 입니다.

한자 "天"의 유니코드 값은 0x5929 입니다.


1바이트 알파벳 Z 는, 유니코드에서도, 아스키 코드와 같은 값인 0x5A 가 나옵니다.


[출처 : http://mwultong.blogspot.com/2007/01/perl-hangul-unicode-code-value.html]

+ Recent posts