Maison  >  Article  >  interface Web  >  Javascript réalise la conversion des compétences de caractères_javascript pleine largeur et demi-largeur

Javascript réalise la conversion des compétences de caractères_javascript pleine largeur et demi-largeur

WBOY
WBOYoriginal
2016-05-16 16:21:511252parcourir

Codez d'abord, puis dites des bêtises^_^

Copier le code Le code est le suivant :

/**
* Convertir les caractères pleine chasse
​*/
fonction toDBC(str){
var résultat = "";
var len = str.length;
pour(var i=0;i {
      var cCode = str.charCodeAt(i);
//La différence entre pleine largeur et demi-largeur (sauf les espaces) : 65248 (décimal)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode 65248) : cCode;
​​​​ //Gérer les espaces
cCode = (cCode==0x0020)?0x03000:cCode;
         résultat = String.fromCharCode(cCode);
>
Résultat de retour ;
>
/**
* Convertir les caractères demi-chasse
​*/
fonction toSBC(str){
var résultat = "";
var len = str.length;
pour(var i=0;i {
      var cCode = str.charCodeAt(i);
//La différence entre pleine largeur et demi-largeur (sauf les espaces) : 65248 (décimal)
cCode = (cCode>=0xFF01 && cCode<=0xFF5E)?(cCode - 65248) : cCode;
​​​​ //Gérer les espaces
cCode = (cCode==0x03000)?0x0020:cCode;
         résultat = String.fromCharCode(cCode);
>
Résultat de retour ;
>

Points de connaissances

En comparant les caractères demi-chasse et les caractères pleine chasse (caractères ASCII), nous pouvons constater qu'il existe des plages de caractères ASCII pleine chasse et demi-chasse : 0x20~0x7E.

Par exemple :

Les symboles demi-largeur et pleine largeur diffèrent
#0x0023 0xFF03 0xFEE0
? 0x003F 0xFF1F 0xFEE0
Espace 0x0020 0x03000 0x2FE0

À l'exception des espaces, la différence entre les caractères pleine chasse et demi-chasse est : 0xFFE0

Par conséquent, lors de la conversion de caractères pleine chasse et demi-chasse, un traitement spécial des espaces est requis.

Par exemple :

Pleine largeur = demi-largeur 0xFEE0

Demi-largeur = pleine largeur - 0xFFE0

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn