Главная » 2011 » Август » 15
Мне потребовалась функция подсчета количества байтов в строке (в UTF8 разные символы имеют длину от 1 до 6 байтов). Как источник - использовал статью на Википедии: UTF-8, там я подсмотрел в таблицу, в которой указано сколько байтов занимает символ, в зависимости от порядкового номера. Потом расширил стандартный класс String - новой удобной функцией, которая, корректно находит длину строки в байтах, а не символах:
String.prototype.byteLength = function(){ 
var str = this, length = str.length, count = 0, i = 0, ch = 0;
for(i; i < length; i++){
ch = str.charCodeAt(i);
if(ch <= 127){
count++;
}else if(ch <= 2047){
count += 2;
}else if(ch <= 65535){
count += 3;
}else if(ch <= 2097151){
count += 4;
}else if(ch <= 67108863){
... Читать дальше »
Просмотров: 1937 | Добавил: Sergey Saenko | Дата: 07.02.2106 | Комментарии (0)