• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

for 문 string 한글문 은 안깨지네요.

19.07.08 22:36 작성 조회수 180

0

한글 string 으로 for을 돌려서 출력을 하는 방식을 써봤는데요.

str3 처럼 주소를 그대로 같다 쓸때 깨지지만 왜 for에서는 안깨지는지 궁금합니다. 

답변 4

·

답변을 작성해보세요.

0

전건수님의 프로필

전건수

질문자

2019.07.10

네 감사합니다.

0

UTF-8은 가변 길이 문자 인코딩 방식이라 문자를 저장할 때 1바이트에서 4바이트까지 사용하며 한글은 3바이트로 저장합니다.

Golang의 캐릭터셋 규칙입니다.

str3처름 쓸 때는 decode 학습하는 decode 함수 등으로 utf-8로 변환해서 사용하시면 깨지는 것을 방지 할 수 있습니다.

 

http://pyrasis.com/book/GoForTheReallyImpatient/Unit45/02

 

위의 링크를 확인하시면 한글 규칙에 대해서 정말 자세하게 나와있습니다.

0

전건수님의 프로필

전건수

질문자

2019.07.09

var str3 string = "고프로그래밍" 

 

for i, char := range str3 {

fmt.Printf("%c(%d)\t", char, i)  

}

0

안녕하세요. 전건수님

 

해당 예제 파일 및 관련 소스를 업로드 부탁드립니다.

 

감사합니다.