Tour of Rust 목차

utf-8이란 무엇인가

컴퓨터로 점점 더 많은 나라의 언어가 사용되면서, 세계는 ASCII가 허용하던 것보다 (1 바이트는 256 문자 밖에 허용하지 않음) 더 많은 문자를 필요로 하게 되었습니다.

utf-8은 1에서 4 바이트의 가변 길이 바이트로 도입되어, 사용 가능한 문자의 범위를 엄청나게 늘려 주었습니다.

가변 크기 문자의 한 가지 장점은 매우 흔한 ASCII 문자(utf-8에서도 여전히 1 바이트만 필요로 함)에 쓸데 없는 바이트를 필요로 하지 않는다는 점입니다.

한 가지 단점은 단순한 인덱싱(예: my_text[3]으로 네 번째 문자를 가져옴)으로는 더 이상 빠르게(O(1) 상수 시간으로) 문자를 찾을 수 없다는 점입니다. 바로 앞의 글자가 가변 길이를 가질 수 있어, 바이트 열에서 4번째 문자가 실제로 시작하는 위치가 달라질 수도 있습니다.

우리는 그 대신에 utf-8 바이트 열을 하나하나 돌면서 각각의 유니코드 문자가 실제로 어디에서 시작하는지 찾아야 합니다 (O(n) 선형 시간).

Ferris: "utf-8로 내 물밑 친구들의 이모지를 보여줄 수 있어서 기쁩니다."

🐠🐙🐟🐬🐋

Mascot Ferris