본문 바로가기
반응형

String2

C#으로 유니코드 문자열 길이 측정하기 비ASCII 문자란 무엇인가? ASCII는 0부터 127까지의 숫자로 영어 문자와 컴퓨터 문자를 나타내는 반면, 유니코드는 거의 150,000개의 문자를 포함하여 다양한 언어와 상징을 나타냅니다. 이는 터미널 출력에서 문자가 차지하는 공간을 결정하는 시각적 문제를 야기합니다. StringInfo를 사용한 문자 길이 측정 C#의 System.Globalization.StringInfo 클래스를 사용하여 문자열의 실제 길이를 측정할 수 있습니다. 이는 특히, 이모지와 같은 복잡한 유니코드 문자를 포함하는 문자열에서 유용합니다. 유니코드 문자의 복잡성 이해하기 일부 유니코드 문자는 다른 문자 위에 구축되어 있어, 예상보다 긴 길이를 가지게 됩니다. 이는 터미널이 문자를 어떻게 표시할지 결정하기 때문에, 콘솔 .. 2023. 10. 30.
C++ 문자열의 내부 구조: std::string 이해하기 C++ 표준 라이브러리의 std::string은 단순히 문자의 벡터로 생각될 수 있지만, 실제로는 벡터와는 다른 특정 최적화가 적용된 조직으로 되어 있습니다. 모든 문자열은 내부적으로 ptr (문자열의 시작을 가리키는 포인터), size (널 종결자를 제외한 문자의 수), capacity (널 종결자를 제외한 문자열의 용량)으로 구성된 std::basic_string 구조에서 시작합니다. 작은 문자열 최적화(Small String Optimization) 이러한 기본 구조에 추가된 중요한 개념은 '작은 문자열 최적화(Small String Optimization, SSO)'입니다. 벡터와 달리, 문자열은 이동 연산 시 반복자나 참조가 무효화되지 않아도 되므로, 문자열 객체 내부에 작은 버퍼를 할당하여 짧.. 2023. 10. 30.
반응형