strings

String이 UTF-8을 다루는 방식

러스트의 String은 UTF-8 바이트 벡터를 감싼 타입이므로 인덱스 하나가 항상 문자 하나를 의미하지 않는다는 점이 중요합니다.

바이트

저장 단위이며 ASCII는 한 글자에 1바이트지만 다른 문자는 더 클 수 있습니다.

char

유니코드 스칼라 값이며 사용자가 보는 글자 하나와 항상 같지는 않습니다.

슬라이스

문자 경계가 아닌 위치로 자르면 런타임 패닉이 날 수 있습니다.

추가

push_str과 push는 소유권과 대여 규칙 안에서 문자열을 확장합니다.