Главная страница » JavaScript » 17. Кодировка
Кодировка символов — это способ представления текстовых данных в цифровом виде. Понимание кодировки важно для работы с текстом, чтобы обеспечить корректное отображение и манипулирование строками. В этом уроке мы рассмотрим основные концепции кодировки символов, такие как ASCII и Unicode, и их применение в JavaScript.
ASCII (American Standard Code for Information Interchange):
console.log('A'.charCodeAt(0)); // Output: 65
console.log(String.fromCharCode(65)); // Output: 'A'
Unicode:
console.log('你'.charCodeAt(0)); // Output: 20320
console.log(String.fromCharCode(20320)); // Output: '你'
Получение Unicode-кода символа:
let char = 'A';
let code = char.charCodeAt(0);
console.log(code); // Output: 65
Создание строки из Unicode-кода:
let code = 65;
let char = String.fromCharCode(code);
console.log(char); // Output: 'A'
Работа с символами из различных кодировок:
let chineseChar = '你';
let code = chineseChar.charCodeAt(0);
console.log(code); // Output: 20320
let emoji = '😊';
let emojiCode = emoji.codePointAt(0);
console.log(emojiCode); // Output: 128522
Создание строки из Unicode-кода (поддержка больших кодов):
let emojiCode = 128522;
let emoji = String.fromCodePoint(emojiCode);
console.log(emoji); // Output: '😊'
Некорректное использование методов для работы с символами с высокой кодовой точкой:
charCodeAt
и fromCharCode
работают только с 16-битными кодами. Для символов с кодами выше 65535 используйте codePointAt
и fromCodePoint
.
let highCode = '😊'.charCodeAt(0);
console.log(highCode); // Output: 55357 (некорректный результат)
let correctHighCode = '😊'.codePointAt(0);
console.log(correctHighCode); // Output: 128522 (корректный результат)
Игнорирование кодировки при работе с внешними данными:
Понимание кодировок символов и методов работы с ними в JavaScript позволяет корректно обрабатывать текстовые данные, поддерживая различные языки и специальные символы. Это особенно важно при работе с международными проектами и при взаимодействии с внешними источниками данных.
Напишите код, который выводит Unicode-коды всех символов в строке «Hello, 世界!».
Создайте строку из набора Unicode-кодов: 72, 101, 108, 108, 111 (должна получиться строка «Hello»).
Напишите код, который корректно работает с эмодзи, получая его код и создавая строку из этого кода.
Пример решения:
// Задание 1
let str = "Hello, 世界!";
for (let i = 0; i < str.length; i++) {
console.log(`${str[i]}: ${str.codePointAt(i)}`);
}
// Задание 2
let codes = [72, 101, 108, 108, 111];
let helloStr = String.fromCharCode(...codes);
console.log(helloStr); // Output: Hello
// Задание 3
let emoji = '😊';
let emojiCode = emoji.codePointAt(0);
console.log(emojiCode); // Output: 128522
let newEmoji = String.fromCodePoint(emojiCode);
console.log(newEmoji); // Output: 😊
Этот урок поможет вам лучше понять, как использовать кодировки символов в JavaScript для работы с текстом и избежать распространенных ошибок.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.