이 글은 자바스크립트의 문자셋에 대한 자세한 설명과 문자셋의 인코딩 및 디코딩에 대해 매우 자세하게 설명되어 있습니다. 도움이 필요한 친구들이 참고할 수 있습니다
1. ) 문자 문자는 왜곡된 문자를 포함하여 다양한 텍스트 및 기호를 가리키는 일반적인 용어입니다. 한 문자는 1~n 바이트에 해당하고, 한 바이트는 8비트에 해당하며 각 비트는 0 또는 1로 표시됩니다.
2) 문자 세트
문자 세트는 여러 문자의 집합입니다. 각 문자 세트에는 서로 다른 문자 수가 포함됩니다. 일반적인 문자 세트 이름: ASCII 문자 세트, GB2312 문자 세트 대기.3) 문자 인코딩
문자 인코딩은 기호를 컴퓨터가 읽을 수 있는 바이너리로 변환하는 것이고, 디코딩은 바이너리를 사람이 읽을 수 있는 기호로 변환하는 것입니다. 대부분의 문자 세트는 하나의 인코딩 방법에 해당하지만(예: GBK는 GBK 인코딩에 해당) UTF-8, UTF-16, UTF-32 및 UTF-7을 포함하여 많은 유니코드 인코딩이 있습니다.가장 일반적으로 사용되는 웹페이지는 "UTF-8"입니다. UTF-8은 각 문자를 인코딩하는 데 1~4바이트를 사용하므로 기존 ASCII 텍스트를 변환할 필요가 없습니다.
2. 브라우저 기반
1) HTML 속성에 10진수와 16진수 사용
10진수에서는 HTML에서 "8"을 사용할 수 있고, 16진수에서는 10진수보다 x가 하나 더 많은 "Z"를 사용할 수 있습니다. 또한 10~15를 나타내기 위해 기본 코드에 a~f 6개의 문자가 더 추가됩니다.
2) CSS 속성에는 10진수와 16진수가 사용됩니다.
CSS는 HTML의 기본 형식과 호환됩니다. 또한 16진수는 "6c" 형식으로도 표현할 수 있습니다.3) JavaScript 인코딩 캡슐화
는 eval을 통해 문자열 8진수 및 16진수 인코딩 방법을 직접 실행할 수 있습니다. 여기서 8진수는 "56"으로 표시되고 16진수는 "x5c"로 표시됩니다. 코드에 중국어 문자가 사용되고 16진수 인코딩이 필요한 경우 16진수 유니코드 인코딩만 수행할 수 있으며 해당 표현은 "u4ee3u7801"입니다."웹 프런트엔드 해킹 기술 공개"에서는 인코딩과 디코딩에 대해 두 가지 방법이 캡슐화되어 있습니다. 구체적인 코드는 여기에서 확인할 수 있습니다.
핵심 코드는 "str.charCodeAt(char).toString(base)" 및 "String.fromCharCode(parseInt(code, base))"입니다. charCodeAt() 메서드는 0에서 65535 사이의 정수를 반환하며, 지정된 인덱스의 UTF-16 코드 단위 static String.fromCharCode() 메서드는 지정된 유니코드 값 시퀀스를 사용하여 생성된 문자열을 반환합니다. 온라인 웹페이지를 통해서도 "MonyerJS"를 인코딩하고 디코딩할 수 있습니다.4) HTML 자동 디코딩 메커니즘
예를 들어 웹 페이지에 16진수 "Hello"를 입력하면 자동으로 "hello"로 디코딩됩니다. 이 메커니즘을 갖춘 잘 알려진 공간 " "도 있습니다.3. 브라우저 인코딩
JavaScript에는 문자열을 인코딩하고 디코딩할 수 있는 세 쌍의 함수가 있습니다. 즉, escape/unescape, encodeURI/decodeURI, encodeURIComponent/decodeURIComponent입니다.가장 큰 차이점은 인코딩되지 않은 문자 수입니다.
1) Escape
*, +, -, ., /, @, _, 0~9, a~z, A~Z
로 인코딩되지 않은 문자가 69개 있습니다. 및 escape 0~255 이외의 유니코드 값을 인코딩할 경우 %u**** 형식이 출력됩니다.
2) encodeURI가 인코딩하지 않는 문자는 82개입니다.
!, #, $, &, ', (,), *, +,,,-,.,/,:,;, = ,?,@,_,~,0~9,a~z,A~Z
*、+、-、.、/、@、_、0~9、a~z、A~Z
而且escape对0~255以外的unicode值进行编码时输出%u****格式。
2)encodeURI不编码的字符有82个
!、#、$、&、'、(、)、*、+、,、-、.、/、:、;、=、?、@、_、~、0~9、a~z、A~Z
3)encodeURIComponent不编码的字符有71个
!、'、(、)、*、-、.、_、~、0~9、a~z、A~Z
!,',( ,) ,*,-,.,_,~,0~9,a~z,A~Z
위 내용은 모두를 위해 정리한 내용입니다. 앞으로 모든 분들께 도움이 되길 바랍니다. . 관련 기사 : ajax 상호 작용 예제를 통해 JS 프로토 타입 및 프로토 타입 체인 및 JS의 사용에 대한 설명 ajax 상호 작용 예
위 내용은 JavaScript 문자 세트 인코딩 및 디코딩에 대한 자세한 설명(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!