[TIL] Rust 문자열

Hyeseong·2023년 5월 15일
0

1. 질문: 바이트 문자열의 타입은 왜 u8이야?

바이트 문자열의 타입이 u8인 이유는 u8이 0에서 255까지의 값을 나타낼 수 있는 가장 작은 unsigned 정수형이기 때문입니다.

바이트 문자열은 기본적으로 ASCII 문자시퀀스로, 각 ASCII 문자0에서 255 사이의 값으로 나타낼 수 있습니다. 따라서 각 ASCII 문자를 나타내는 데 u8 타입을 사용하는 것이 가장 효율적입니다.

또한, u8은 컴퓨터에서 가장 기본적인 데이터 단위바이트와 일치합니다. 이것은 바이트 문자열이진 데이터를 처리하고 저장하는 데 유용하게 만듭니다.

Rust에서 바이트 문자열은 b"Hello"와 같이 b 접두사를 사용하여 표현되고, 이것은 [u8; 5] 타입을 가진 배열로 저장됩니다. 이는 각 문자가 ASCII로 인코딩된 u8 값으로 변환되어 배열에 저장되기 때문입니다.

2. 질문: 바이트 문자열이 자동으로 배열로 형변환 된다는 말이야?

네, 맞습니다. Rust에서 바이트 문자열바이트 배열로 처리됩니다. b 접두사를 사용하여 문자열을 선언하면, 컴파일러는 이를 바이트 배열로 자동 변환합니다. 예를 들어,

let hello = b"Hello";

이 코드는 hello 변수를 바이트 배열로 선언합니다. 이 배열의 타입은 [u8; 5]입니다. 이는 각 ASCII 문자가 u8 타입의 값으로 변환되어 배열에 저장되기 때문입니다. 이 배열은 각각 'H', 'e', 'l', 'l', 'o' 문자의 ASCII 값으로 채워집니다.

따라서 바이트 문자열은 자동으로 바이트 배열로 변환되며, 이는 Rust의 타입 시스템에서 자동으로 처리됩니다.

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글