js字符串与Unicode编码互相转换

JavaScript字符串与Unicode编码互相转换

JavaScript内部使用Unicode编码,每个字符对应一个Unicode码位,可以通过字符串和Unicode编码之间的互相转换来操作Unicode码位。

字符串转Unicode编码

字符串转换成Unicode编码可以使用JavaScript内置的charCodeAt()函数。

charCodeAt()函数返回的是字符串中某个字符的Unicode编码,如果字符串中包含多个字符,需要通过下标来访问每个字符的Unicode编码。

基本使用

const str = 'Hello World!';
const unicode = str.charCodeAt(0); // 返回'H'的Unicode编码
console.log(unicode); // 72

转换整个字符串

可以使用循环结构将字符串中每个字符的Unicode编码转换出来。

const str = 'Hello World!';
let unicodeStr = '';
for (let i = 0; i < str.length; i++) {
  const unicode = str.charCodeAt(i);
  unicodeStr += `\\u${unicode.toString(16).toUpperCase()}`;
}
console.log(unicodeStr); // '\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064\u0021'

Unicode编码转字符串

Unicode编码转换成字符串可以使用JavaScript内置的fromCharCode()函数。

fromCharCode()函数可以接收是Unicode码位的值,将其转换成对应的字符,可以支持多个Unicode码位,返回对应的字符串。

基本使用

const unicode = 72;
const str = String.fromCharCode(unicode); // 返回Unicode编码为72的字符'H'
console.log(str); // 'H'

转换整个字符串

可以使用循环结构将Unicode编码转换成字符串。

const unicodeStr = '\u0048\u0065\u006C\u006C\u006F\u0020\u0057\u006F\u0072\u006C\u0064\u0021';
let str = '';
const codeList = unicodeStr.match(/\\u[\dA-Fa-f]{4}/gm);
for (let code of codeList) {
  const unicode = parseInt(code.slice(2), 16);
  str += String.fromCharCode(unicode);
}
console.log(str); // 'Hello World!'

示例说明

示例1:字符串转Unicode编码

const str = '中国';
let unicodeStr = '';
for (let i = 0; i < str.length; i++) {
  const unicode = str.charCodeAt(i);
  unicodeStr += `\\u${unicode.toString(16).toUpperCase()}`;
}
console.log(unicodeStr); // '\u4E2D\u56FD'

代码段中,使用charCodeAt()函数获取字符串中每个字符的Unicode编码,转换成16进制输出成形如'\uXXXX'的形式。字符串'中国'转换后的结果为'\u4E2D\u56FD'。

示例2:Unicode编码转字符串

const unicodeStr = '\u4E2D\u56FD';
let str = '';
const codeList = unicodeStr.match(/\\u[\dA-Fa-f]{4}/gm);
for (let code of codeList) {
  const unicode = parseInt(code.slice(2), 16);
  str += String.fromCharCode(unicode);
}
console.log(str); // '中国'

代码段中,将Unicode编码字符串按'\uXXXX'的形式进行正则匹配,提取出码位值进行转换成字符,最终将字符拼接成字符串'中国'。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js字符串与Unicode编码互相转换 - Python技术站

(1)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • JavaScript Array对象使用方法解析

    JavaScript Array对象使用方法解析 概述 JavaScript中的Array对象是一个非常重要的数据结构类型,可以用来存储相同类型的数据,并且可以通过封装在Array对象上的各种方法,方便地进行增、删、改、查等操作。本文将详细地解析JavaScript Array对象的使用方法,包括数组的创建、增删元素、遍历、排序、查找等操作。 数组的创建 方…

    JavaScript 2023年5月27日
    00
  • JavaScript实现进度条效果

    请看下面详细讲解“JavaScript实现进度条效果”的完整攻略。 1. 前置知识 在开始实现进度条效果之前,需要具备以下知识: HTML和CSS的基础知识 JavaScript的基本语法和DOM操作 2. 实现思路 实现进度条效果可以采用如下思路: 创建一个div元素,作为进度条的显示区域。 在CSS中设置进度条的基本样式,包括进度条的颜色、高度、圆角等。…

    JavaScript 2023年6月11日
    00
  • js console.log打印对象时属性缺失的解决方法

    当我们在JavaScript中使用console.log打印一个对象时,可能会发现某些属性没有被打印出来。这通常是由于对象里的属性只有在我们需要访问它们时才被计算出来,或者是因为它们被标记为不可枚举的。以下是解决这个问题的两个方法: 方法一:使用JSON.stringify JSON.stringify可以将对象解析成一个字符串,包括不可枚举属性,因此我们可…

    JavaScript 2023年5月28日
    00
  • JavaScript高级程序设计(第3版)学习笔记8 js函数(中)

    JavaScript高级程序设计(第3版)学习笔记8 js函数(中)主要围绕函数作用域、闭包、函数式编程和函数对象四大主题展开,下面分别做详细说明: 函数作用域 JavaScript中的函数作用域是通过函数定义时的位置来决定的,即内部函数可以访问外部函数中的变量和函数,而外部函数无法访问内部函数中的变量。通过这种作用域链的形式来维护作用域,每个函数被创建时都…

    JavaScript 2023年5月27日
    00
  • 如何用RxJS实现Redux Form

    下面是如何用RxJS实现Redux Form的完整攻略。 简介 Redux Form 是用于 React 应用程序的可扩展表单组件和验证解决方案。而 RxJS 是一个用于处理异步操作的库,它的出现极大的简化了复杂异步操作的代码。 如何用 RxJS 实现 Redux Form 下面按照步骤来介绍如何用 RxJS 实现 Redux Form。 第一步:安装依赖 …

    JavaScript 2023年6月10日
    00
  • javascript 单例/单体模式(Singleton)

    JavaScript 单例模式是一种创建模式,旨在确保类只有一个实例,并提供全局访问点来访问该实例。在JavaScript中,单例可以用一个对象自变量实现。下面是一些创建JavaScript单例的方案。 方案一:使用字面量对象 使用字面量对象的方式简单直观,适用于有固定属性需要维护的单例模式。 const singleton = { prop1: &quot…

    JavaScript 2023年6月10日
    00
  • javascript内置对象Date案例总结分析

    下面是关于“javascript内置对象Date案例总结分析”的完整攻略。 1. 概述 JavaScript中的Date对象是表示日期和时间的构造函数,它允许你跟踪时间并执行基于时间的操作。在JavaScript中使用Date对象可以很容易地获取当前日期和时间,将日期和时间转换为特定格式,计算两个日期之间的时间间隔,查找特定日期的某个属性等。 2. 常用方法…

    JavaScript 2023年6月10日
    00
  • JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)

    下面是详细讲解“JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)”的完整攻略。 一、需求分析 我们要实现的功能是:在用户点击发送短信验证码按钮后,按钮变为不可点击状态,同时开始显示倒计时,直到倒计时结束后按钮恢复可点击状态。 为了防止用户在倒计时过程中刷新页面导致倒计时失效,我们需要使用浏览器的本地存储(localStorage/sessionSt…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部