>웹 프론트엔드 >JS 튜토리얼 >JS 전각 및 반각 변환 예

JS 전각 및 반각 변환 예

零下一度
零下一度원래의
2017-07-17 16:13:521108검색

최근 PC 웹사이트 페이지에서 양식 확인을 하고 있는데 전각 입력을 반각 기호로 변환해야 합니다. 이런 코딩 지식을 이전에 배워본 적이 없어서 아직 구글에서 정보를 찾아봐야 하므로 간략하게 요약해보겠습니다.

1. 전각과 반각이란 무엇인가요?

전각: 일종의 컴퓨터 문자로, 하나의 전자 문자가 두 개의 표준 문자(또는 두 개의 반각 문자)의 위치를 ​​차지한다는 의미입니다. ). 전체 너비는 2바이트를 차지합니다.

한자, 전각을 지정하는 영어 문자, 국가 표준 GB2312-80의 그래픽 기호 및 특수 문자는 모두 전각 문자입니다. 전각에서는 문자와 숫자가 한자와 같은 폭의 위치를 ​​차지합니다.

반각: 한 문자가 표준 문자 위치를 차지함을 의미합니다. 반폭은 1바이트를 차지합니다.

반각 문자는 ASCII 문자입니다. 한자 입력 방법이 작동하지 않는 경우 입력되는 문자, 숫자, 문자는 모두 반각 문자입니다.

각 반각 문자는 1바이트의 공간만 차지합니다(1바이트는 8비트, 총 256개의 인코딩 공간). 중국어, 일본어, 한국어 등 상형문자 언어의 글꼴 크기는 256 인코딩 공간보다 훨씬 크기 때문에 저장에 2바이트가 사용된다. 동시에, 중국, 일본, 한국 등 상형문자의 쓰기 습관으로 인해 전각자를 균일하게 사용하면 배열이 깔끔하게 나타난다.

깔끔한 정리를 위해 영어 및 기타 라틴 문자와 구두점도 전각 형식으로 제공됩니다.

2. 전각과 반각의 차이

전각 구두점은 주로 구두점 2바이트를 차지하고, 반각 구두점은 1바이트를 차지합니다. 반각이든 전각이든 관계없이 한자는 2바이트를 차지합니다.

전체 각도에서 반각으로

  function ToCDB(str) 
  {   var tmp = "";  
 for (var i = 0; i < str.length; i++) {  
 if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {  
 tmp += String.fromCharCode(str.charCodeAt(i) - 65248);   }   
 else {   tmp += String.fromCharCode(str.charCodeAt(i));   
     }   
      }   
      return tmp   
       }

반각에서 전체 각도로

    function ToDBC(txtstring) 
    {var tmp = "";
    for (var i = 0; 
    i < txtstring.length; i++) {
    if (txtstring.charCodeAt(i) == 32) 
    {tmp = tmp + String.fromCharCode(12288);}
    if (txtstring.charCodeAt(i) < 127) 
    {
    tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248);
    }
    }return tmp;
    }

위 내용은 JS 전각 및 반각 변환 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.