Golang 문자열의 문자 인덱싱: UTF-8 디코딩
Golang의 문자열 리터럴은 UTF-8로 인코딩된 문자 시퀀스이지만 개별 문자를 인덱싱합니다. 배열과 유사한 구문 string[index]를 사용하여 위치에 따라 예상치 못한 결과가 발생할 수 있습니다. 이는 UTF-8 문자가 여러 바이트를 차지할 수 있고 바이트 위치에 따른 인덱싱이 UTF-8 인코딩을 깨뜨릴 수 있기 때문입니다.
개별 문자를 정확하게 인덱싱하고 검색하기 위해 Golang은 여러 옵션을 제공합니다.
유니코드 코드 포인트 사용 (룬)
예:
package main import "fmt" func main() { fmt.Println(string([]rune("HELLO, 世界")[1])) // "E" fmt.Println(string([]rune("HELLO, 世界")[8])) // "界" }
바이트를 다음으로 변환 문자
예:
package main import "fmt" func main() { fmt.Println(string("HELLO"[1])) // "e" }
위 내용은 Go의 UTF-8 문자열에서 문자를 올바르게 인덱싱하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!