Этот метод возвращает элементарную строку, а не объект типа 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)
Добавить see also для не-юникодных обычных ASSCCIII символов.
почему upper case? как сделать нормально
потому что А=65, В=66, С=67. у строчных коды другие.
Заметил одну особенность - fromCharCode (222) == некому значку, хотя на клавиатуре это символ апострофа '. Тоже самое для символов < , >, /.
Я хочу написать вот этот код на С шарпе:
//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));
Что этот код означает немогу понять.
Какой метод противоположний методу String.fromCharCode. Мне нужно получить код уже имеющегося символа. Код который возвращается при нажатии кнопки при Enter, и отвечает за перенос строк. Заранее спасибо!
charCodeAt у экземпляров String
"\n".charCodeAt(0)
Подскажите что за вид шифра: \150\164\155\154\ и как с его помощью зашифровать свои текст .
Напоминает unicode запись только не '\uXXX' a просто '\XXX'.