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日

相关文章

  • JS 加入收藏夹的代码(主流浏览器通用)

    这里提到的“JS 加入收藏夹的代码(主流浏览器通用)”是指使用JavaScript代码实现将当前网页添加到收藏夹中的功能,下面是详细讲解完整攻略: 步骤一:创建添加收藏夹的代码段 我们可以使用Javascript创建一个函数,将当前网页添加到收藏夹,并返回true或false来表示是否添加成功。下面是一个示例代码: function addFavorite(…

    JavaScript 2023年5月27日
    00
  • ASP.NET 窗体间传值的方法

    ASP.NET是一种基于Web应用程序的框架,可以轻松实现Web开发,并提供了多种窗体间传值的方法。 一、Query String Query String是通过在URL上添加查询字符串的方法。例如,可以使用以下代码在源页面中将值传递到目标页面: string url = "targetPage.aspx?name=" + txtName…

    JavaScript 2023年6月11日
    00
  • 用函数式编程技术编写优美的 JavaScript_ibm

    用函数式编程技术编写优美的 JavaScript – 完整攻略 函数式编程是一种将计算机程序视为数学函数的编程范式。在这种编程方式下,函数被视为是数据流变换的原子操作,程序的执行就是一个函数接受输入并返回输出的过程。由于函数式编程减少了状态变量的使用,可以使得代码更加简洁、易读、易维护。 在 JavaScript 中,函数式编程几乎可以应用于所有方面。本文将…

    JavaScript 2023年5月19日
    00
  • 微信小程序开发实用技巧之数据传递和存储

    下面就是关于微信小程序开发实用技巧之数据传递和存储的完整攻略。 数据传递 在小程序中,数据的传递通常需要经过多个页面或组件,因此在小程序中,数据传递是非常重要的。此处简单介绍两种数据传递方式: 通过URL传递数据 在小程序中,可以通过URL传递数据。具体做法是,使用小程序的内置API wx.navigateTo 或 wx.redirectTo 打开页面时,传…

    JavaScript 2023年6月11日
    00
  • 需要牢记的JavaScript基础知识

    下面是需要牢记的JavaScript基础知识的完整攻略: JavaScript基础知识 数据类型 JavaScript有7种基础数据类型: 布尔值(Boolean) 数字(Number) 字符串(String) null undefined Symbol 对象(Object) 其中,null和undefined是特殊的数据类型,常用于表示空值和未定义值。 示…

    JavaScript 2023年5月27日
    00
  • Qiankun Sentry 监控异常上报无法自动区分项目解决

    完整攻略如下: Qiankun Sentry 监控异常上报无法自动区分项目解决 问题描述 在使用 Qiankun 进行微前端架构开发时,可能会出现 Sentry 监控异常上报无法自动区分项目的问题。具体表现为:在一个微应用抛出异常,异常信息被上报到了主应用的 Sentry 中,而无法定位到哪个微应用抛出了异常。 原因分析 这个问题的根本原因是 Sentry …

    JavaScript 2023年5月28日
    00
  • 积累比较常用的正则表达式(例如:匹配中文、匹配html)

    Markdown格式的文本有一些基本规则。比如,使用#、##、###等#符号表示章节标题,使用*、-、+等符号表示无序列表,使用>符号表示引用等。下面,我将详细讲解“积累比较常用的正则表达式”的攻略: 1. 正则表达式基础 正则表达式是用来匹配字符串及其组成部分的一种模式化方法。正则表达式主要包括以下几个元素:1. 原义字符:表示字符本身,如a表示字母…

    JavaScript 2023年6月10日
    00
  • window.location.hash 属性使用说明

    当浏览器地址栏中的URL中包含hash值(即以#开头的字符串),浏览器会自动将hash值存储到window.location.hash属性中。这个属性提供了一种用于操作hash值的方式,允许我们通过JavaScript动态地更改hash值,使得页面可以根据hash值的不同来展示不同的内容。 1. 获取当前页面的hash值 可以通过window.locatio…

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