Этот метод возвращает элементарную строку, а не объект типа String.
Так как fromCharCode - статический метод String, он всегда вызывается как String.fromCharCode().
Хотя наиболее частые значения в юникоде могут быть представлены одним числом (как задумано в ранних стандартах яваскрипт), и fromCharCode() можно использовать, чтобы получить один символ для частых значений (т.е значений UCS-2, которые являются подмножеством UTF-16), но для ВСЕХ юникодных значений одного fromCharCode() не хватает.
Так как более редкие символы кодируются в юникоде с использованием пары чисел, fromCharCode() можно использовать для возврата этой пары, и, таким образом, получения нужного значения.
Однако, имейте в виду, что следующая вспомогательная функция, которая получает любой юникодный символ, может вернуть такое значение, которое показывается как один символ, но в строке занимает 2 места. Хотя обычно - это все же будет 1 символ и 1 позиция в строке.
function fixedFromCharCode (codePt) {
if (codePt > 0xFFFF) {
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
} else {
return String.fromCharCode(codePt);
}
}
Пример: Использование fromCharCode
// вернет строку "ABC".
String.fromCharCode(65,66,67)
Автор: Устименко Александр (не зарегистрирован), дата: 27 октября, 2009 - 12:31
#permalinkДобавить see also для не-юникодных обычных ASSCCIII символов.
Автор: mikdmst, дата: 2 августа, 2010 - 04:26
#permalinkпочему upper case? как сделать нормально
Автор: Гость (не зарегистрирован), дата: 20 февраля, 2011 - 06:14
#permalinkЗаметил одну особенность - fromCharCode (222) == некому значку, хотя на клавиатуре это символ апострофа '. Тоже самое для символов < , >, /.
Автор: Ахрор (не зарегистрирован), дата: 11 января, 2012 - 15:54
#permalinkЯ хочу написать вот этот код на С шарпе:
//function gosntfde(s) {
// symBase = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
// result = "";
// for( cur = 0; cur < s.length; cur += 4 ) // 0, 4, 8, 12, 16
// {
// var c = new Array(4), nextChar;
// for( curC = 0; curC < 4; curC++) //0, 1, 2, 3
// {
// curChar = s.substring(curC + cur, curC + cur + 1)
// if( '=' == curChar) c[curC] = 0; else c[curC] = symBase.indexOf(curChar);
// }
// result += String.fromCharCode(((c[0] << 2) % 256) | (c[1] >> 4));
// result += String.fromCharCode(((c[1] << 4) % 256) | (c[2] >> 2));
// result += String.fromCharCode(((c[2] << 6) % 256) | c[3]);
// }
// return result;
// }
//function gosntf(s) {
// window.location = "mailto:" + gosntfde(s);
// }
//
но с этим проблема:
result += String.fromCharCode(((c[0] << 2) % 256) | (c[1] >> 4));
Что этот код означает немогу понять.
Автор: Гость (не зарегистрирован), дата: 3 августа, 2013 - 14:58
#permalinkКакой метод противоположний методу String.fromCharCode. Мне нужно получить код уже имеющегося символа. Код который возвращается при нажатии кнопки при Enter, и отвечает за перенос строк. Заранее спасибо!
Автор: 0xAE (не зарегистрирован), дата: 19 ноября, 2013 - 21:39
#permalinkПодскажите что за вид шифра: \150\164\155\154\ и как с его помощью зашифровать свои текст .