문자열에 UCS-2 인코딩이 있습니다. 이 문자열을 다른 UCS-2 문자열에 복사해야합니다. 복사하기 전에 memeory 할당을위한 UCS-2 문자열의 길이를 계산해야합니다.C++에서 UCS-2 문자열의 길이와 크기를 계산하는 방법은 무엇입니까?
UCS-2 문자열의 길이를 계산하는 방법은 무엇입니까?
문자열에 UCS-2 인코딩이 있습니다. 이 문자열을 다른 UCS-2 문자열에 복사해야합니다. 복사하기 전에 memeory 할당을위한 UCS-2 문자열의 길이를 계산해야합니다.C++에서 UCS-2 문자열의 길이와 크기를 계산하는 방법은 무엇입니까?
UCS-2 문자열의 길이를 계산하는 방법은 무엇입니까?
UCS2는 문자열 길이 자체에 대한 정보를 가지고 있지 않습니다. 원래 문자열 표현 중 하나는 0으로 끝나야합니다.이 경우 0 코드 단위 (예 : 16 비트 0 값) 만 확인할 수도 있고 0으로 끝나지 않을 수도 있습니다.이 경우 0이 아닌 일부 코드 단위 문자열의 길이에 대한 밴드 정보 (별도로 저장된 버퍼 크기 등).
일반적으로 UCS 2는 UTF-16 (http://www.unicode.org/faq/basic_q.html#14)의 하위 집합입니다. 따라서 ICU 라이브러리 http://site.icu-project.org/과 같은 UTF-16 도구로 잘 수행해야합니다.
사용하는 문자열 유형에 따라 다릅니다. 형식이없는 경우 (UCS-2 인코딩에 문자열이 포함 된 것으로 알려진 메모리 버퍼 만 해당) 형식이 무엇인지 알 필요가 있습니다. 앞에 붙인 길이를 가질 수도 있고, 평범한 old char *
"C strings"처럼 0으로 종료 될 수도 있습니다.