많은 양의 문자를 유니 코드 코드 포인트로 변환해야합니다. 이것은 더 많은 일반 문자 작동문자열을 코드 포인트로 변환
string sample = "b";
int utf32 = char.ConvertToUtf32(sample, 0);
string codePoint = string.Format("{0:X}", utf32);
을, 그러나 나는 실제 문자열이 개 문자 a (U-0061)
및 '̌' (U-030C)
을 포함입니다이 ǎ
같은 문자가 :이 변환을 수행하려면 다음 코드를 사용하고 있었다. 함수 ConverToUtf32(string, int)
은 실제로는 U-0103
을 기대했던 첫 번째 문자 (또는 색인에 따라 다른 문자) 만 반환합니다. ConvertToUtf32(char, char)
을 사용하면 더 높은 코드 포인트에서 문자가 필요하기 때문에 작동하지 않습니다.
문자열을 코드 포인트로 변환하는 데 사용할 수있는 다른 함수가 있습니까, 아니면 수행 할 수있는 계산입니까?
멋진 대답을, 그냥 뭐 내가 필요! 나는 정상화에 왔지만 그것이 필요하다는 것을 결코 깨닫지 못했다. –
정규화 형식 C는 "결합 표시 없음"을 의미하지 않습니다. –
감사합니다. 그 중 하나는 나중에 알게되었습니다. 내가 올바르게 이해한다면 정규화는 가능한 경우 [미리 조합 된 문자] (http://en.wikipedia.org/wiki/Precomposed_character)로 변환하는 것 같다. 그러나 아무도 없으면, 그것들을 분해 된 형태로 유지합니다. 나는 이것을 위해 수정 된 해결책을 찾아 내야 만했다. – user97462