7. byte와 rune 으로 바이너리 데이터 및 코드 표현
안녕하세요. 언제나 휴일, 언휴예요.
Go 언어에서는 바이너리 데이터를 읽거나 쓸 때 바이트 단위로 처리할 때 byte 형식을 주로 사용해요. 그리고 유니코드(UTF-8)를 표현할 때 rune을 사용합니다.
먼저 byte 표현하는 방법을 새로운 프로젝트를 만들어 확인합시다.
[그림 1] LiteIDE에서 새로운 프로젝트 생성 및 소스 파일 추가
byte 형식 변수에는 0부터 255까지의 정수 표현을 사용할 수 있어요. 그리고 'a' 처럼 하나의 아스키코드 문자를 표현할 수 있습니다. 다음은 숫자 문자 '1'의 아스키 코드를 네 가지 방법으로 표현한 것입니다.
var b1 byte = 49
var b2 byte = 061
var b3 byte = 0x31
var b4 byte = '1'
[그림 2] byte 형식 변수에 숫자 문자 '1'을 표현한 예제 실행 화면
그런데 아스키코드는 미국 알파벳은 표현할 수 있지만 한글은 표현할 수 없어요. 한글이나 한자 등을 표현할 때는 유니코드를 사용하여 표현할 수 있어요. Go 언어에서는 유니코드를 표현할 때 사용하는 형식 rune을 제공하고 있어요.
마찬가지로 새로운 프로젝트를 생성하여 직접 표현해 보아요.
[그림 3] LiteIDE에서 새로운 프로젝트 생성 및 소스 파일 추가
유니코드를 표현할 때는 작은 따옴표 사이에 하나의 문자를 표현하거나 '\u' 혹은 '\U'를 사용하여 유니코드(UTF-8) 문자값을 나타내어 표현합니다.
var r1 rune = '한'
var r2 rune = '\ud55c'
[그림 4] rune 형식 변수에 한글 '한'을 표현한 예제 실행 화면
관련 게시글
[구글 Go 하자] 5. 강력한 타입 언어, Go 언어 변수 선언 맛보기
[구글 Go 하자] 6. 표현 범위에 따라 원하는 정수 형식 사용
[구글 Go 하자] 8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의
[구글 Go 하자] 9. Go 언어에서는 복소수를 표현하는 형식을 제공해요.
[구글 Go 하자] 10. math 패키지에서 제한값을 제공해요.
[구글 Go 하자] 11. 참과 거짓은 bool, 문자열은 string
'언어 자료구조 알고리즘 > 구글 Go' 카테고리의 다른 글
[구글 Go 하자] 12. const 키워드로 상수 정의 (0) | 2016.05.28 |
---|---|
[구글 Go 하자] 11. 참과 거짓은 bool, 문자열은 string (0) | 2016.05.28 |
[구글 Go 하자] 10. math 패키지에서 제한값을 제공해요. (0) | 2016.05.28 |
[구글 Go 하자] 9. Go 언어에서는 복소수를 표현하는 형식을 제공해요. (0) | 2016.05.28 |
[구글 Go 하자] 8. IEEE 754 규약을 따르는 실수, 오차 범위에 주의 (0) | 2016.05.28 |
[구글 Go 하자] 6. 표현 범위에 따라 원하는 정수 형식 사용 (0) | 2016.05.26 |
[구글 Go 하자] 5. 강력한 타입 언어, Go 언어 변수 선언 맛보기 (0) | 2016.05.26 |
[구글 Go 하자] 4. 깃허브 가입하고 LiteIDE 다운로드 및 테스트하기 (0) | 2016.05.25 |
[구글 Go 하자] 3. 윈도우즈에 Go SDK 설치 및 환경 설정하기 (0) | 2016.05.25 |
[구글 Go 하자] 2. Golang 사이트에서 "Hello, World" Try Go하기 (0) | 2016.05.25 |