Сначала, затем поговорите о чушь^_^
Кода -копия выглядит следующим образом:
/**
* Поверните персонажи полной ширины
*/
функция todbc (str) {
var result = "";
var len = str.length;
для (var i = 0; i <len; i ++)
{
var ccode = str.charcodeat (i);
// Разница между полным и полуголовым (кроме пространства): 65248 (десятичный)
ccode = (ccode> = 0x0021 && ccode <= 0x007e)? (CCode + 65248): cCode;
// Пространства обработки
ccode = (ccode == 0x0020)? 0x03000: ccode;
result += string.fromCharcode (ccode);
}
результат возврата;
}
/**
* Поверните персонажей полуговки
*/
функция tosbc (str) {
var result = "";
var len = str.length;
для (var i = 0; i <len; i ++)
{
var ccode = str.charcodeat (i);
// Разница между полным и полуголовым (кроме пространства): 65248 (десятичный)
ccode = (ccode> = 0xff01 && ccode <= 0xff5e)? (CCode - 65248): cCode;
// Пространства обработки
ccode = (ccode == 0x03000)? 0x0020: ccode;
result += string.fromCharcode (ccode);
}
результат возврата;
}
Знания
Сравнивая символы с половиной ширины с персонажами полной ширины (символы ASCII), мы можем обнаружить, что диапазон символов ASCII с персонажами полной шириной и полугодной символы: 0x20 ~ 0x7e.
например:
Разница между полугодности и символами полной ширины
#0x00230xff030xfee0
? 0x003f0xff1f0xfee0
Пространство 0x00200x030000x2Fe0
За исключением пространств, в других символах, целая и полугодия отличаются: 0xffe0
Следовательно, при преобразовании персонажа в полной шириной и полугодности требуется специальная обработка пространств.
Например:
Полная ширина = половина ширины + 0xfee0
Полу ширина = полная ширина-0xffe0