2010-02-18 9 views

답변

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 도구로 잘 수행해야합니다.

1

사용하는 문자열 유형에 따라 다릅니다. 형식이없는 경우 (UCS-2 인코딩에 문자열이 포함 된 것으로 알려진 메모리 버퍼 만 해당) 형식이 무엇인지 알 필요가 있습니다. 앞에 붙인 길이를 가질 수도 있고, 평범한 old char * "C strings"처럼 0으로 종료 될 수도 있습니다.

관련 문제