2

ES6에는 'NFC'양식을 사용하여 문자열의 utf-8 정규화를 수행하는 새로운 기능이 있다는 것을 알고 있습니다.ES6 String.prototype.normalize 대 W3C 정규화

http://www.unicode.org/faq/normalization.html 읽기, 나는이 질문을했다 :

Q : 차이점은 무엇 W3C 표준화 및 유니 코드 정상화 사이입니다?

A : 유니 코드 정규화에는 C, D, KC, KD의 4 가지가 있습니다. W3C 정규화와 관련된 C 입니다. W3C 정규화는 문자 참조 (& #nnnn;)를 문자와 동일하게 취급합니다. 예를 들어, 텍스트 문자열 "a & # xnnnn;" (nnnn = "0301")은 ASCII 문자로만 구성되기 때문에 유니 코드로 정규화되었지만 은 "a"와 악센트를 결합한 의 표현을 포함하고 정규화 형식으로되어 있으므로 W3C로 정규화되지 않았습니다 C이면, 은 U + 00E1로 정규화되어야합니다.

즉, & # xnnnn을 모두 바꿔야 함을 의미합니다. normalize ('nfc')를 호출하기 전에 utf8에 해당하는 값으로?

또는 ascii를 통해 악센트와 결합 된 문자를 고려하는 데 도움이되는 일종의 normalize ('w3c')가 있습니까? "& # xnnnn;" 정규화 된 형식과 동일합니까?

답변

1

자바 스크립트가 &을 실행할 때 ...; DOM을 처리하면 이미 사라졌습니다. 당신이 다운로드하고 html로 어떻게 든 표시되는 유일한 시간입니다. 그리고 어쨌든, 변환은 & ...; 적절한 문자로 이스케이프, 정상화되지 않습니다. 그래서 탈출하고 정상화해야합니다.