Rumah  >  Artikel  >  hujung hadapan web  >  Javascript merealisasikan penukaran kemahiran characters_javascript lebar penuh dan separuh lebar

Javascript merealisasikan penukaran kemahiran characters_javascript lebar penuh dan separuh lebar

WBOY
WBOYasal
2016-05-16 16:21:511252semak imbas

Kod pertama, kemudian cakap kosong^_^

Salin kod Kod adalah seperti berikut:

/**
* Tukar aksara lebar penuh
,*/
fungsi kepadaDBC(str){
var result = "";
var len = str.length;
untuk(var i=0;i {
      var cCode = str.charCodeAt(i);
//Perbezaan antara lebar penuh dan separuh lebar (kecuali ruang): 65248 (perpuluhan)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode 65248) : cCode;
​​​​ //Kendalikan ruang
cCode = (cCode==0x0020)?0x03000:cCode;
         hasil = String.fromCharCode(cCode);
}
Pulangan hasil;
}
/**
* Tukar aksara separuh lebar
,*/
fungsi kepadaSBC(str){
var result = "";
var len = str.length;
untuk(var i=0;i {
      var cCode = str.charCodeAt(i);
//Perbezaan antara lebar penuh dan separuh lebar (kecuali ruang): 65248 (perpuluhan)
cCode = (cCode>=0xFF01 && cCode<=0xFF5E)?(cCode - 65248) : cCode;
​​​​ //Kendalikan ruang
cCode = (cCode==0x03000)?0x0020:cCode;
         hasil = String.fromCharCode(cCode);
}
Pulangan hasil;
}

Mata Pengetahuan

Dengan membandingkan aksara separuh lebar dan aksara lebar penuh (aksara ASCII), kita boleh mendapati bahawa terdapat julat aksara ASCII lebar penuh dan separuh lebar: 0x20~0x7E.

Contohnya:

Simbol separuh lebar dan lebar penuh berbeza
# 0x0023 0xFF03 0xFEE0
? 0x003F 0xFF1F 0xFEE0
Ruang 0x0020 0x03000 0x2FE0

Kecuali ruang, perbezaan antara aksara lebar penuh dan separuh lebar ialah: 0xFFE0

Oleh itu, apabila menukar aksara lebar penuh dan separuh lebar, rawatan khusus ruang diperlukan.

Contohnya:

Lebar penuh = separuh lebar 0xFEE0

Separuh lebar = Lebar penuh - 0xFFE0

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn