js charAt & String.fromCharCode All In One
js charAt & String.fromCharCode All In One
使用 JavaScript 把 ASCII 字符
转换为 ASCII 编码
使用 JavaScript 把 ASCII 编码
转换为 ASCII 字符
- 把
ASCII 字符
转换成ASCII 编码
string to number
'a'.charCodeAt();
// 97
'a'.charCodeAt(0);
// 97
2 把 ASCII 编码
转换成 ASCII 字符
number to string
String.fromCharCode(97);
// 'a'
charCodeAt
charCodeAt() 方法返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元;
UTF-16 编码单元匹配能用一个 UTF-16 编码单元表示的 Unicode 码点。
如果 Unicode 码点不能用一个 UTF-16 编码单元表示(因为它的值大于0xFFFF),则所返回的编码单元会是这个码点代理对的第一个编码单元) 。
如果你想要整个码点的值,使用 codePointAt()。
字符 => 编码
console.log('abc'.charCodeAt(0));
// 97
console.log('abc'.charCodeAt(1));
// 98
console.log('abc'.charCodeAt(2));
// 99
console.log('abc'.charCodeAt(3));
// NaN
console.log('a'.charCodeAt());
// 97
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
String.fromCharCode
静态方法 String.fromCharCode()
返回由指定的 UTF-16 编码单元序列创建的字符串
。
编码 => 字符
console.log(String.fromCharCode(189, 43, 190, 61));
// "½+¾="
console.log(String.fromCharCode(97));
// "a"
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
MDN API dcos
charAt
charAt() 方法从一个字符串
中返回指定的字符
。
str.charAt(index)
str.charAt()
str.charAt(0)
参数 index
一个介于 0 到 str.length - 1 之间的整数。如果无法将索引转换为整数或未提供索引,则默认为 0,因此返回 str 的第一个字符
。
返回值
表示指定索引处的字符(正好是一个 UTF-16 编码单元
)的字符串
。
⚠️ 如果 index 超出范围,则 charAt() 返回一个空字符串
。
// index 超出范围, 返回一个`空字符串`
'abc'.charAt(999);
// ''
'abc'.charAt();
// 'a'
'abc'.charAt(0);
// 'a'
'abc'.charAt(1);
// 'b'
'979899'.charAt();
//'9'
'979899'.charAt(0);
//'9'
'979899'.charAt(1);
// '7'
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/charAt
codePointAt
codePointAt() 方法返回 一个 Unicode 编码点值的非负整数
。
str.codePointAt(pos)
参数 pos
这个字符串中需要转码的元素的位置。
返回值
返回值是在字符串中的给定索引的编码单元体现的数字
,如果在索引处没找到元素则返回 undefined
。
'abc'.codePointAt();
// 97
'abc'.codePointAt(0);
// 97
'\uD800\uDC00'.codePointAt(0);
// 65536
'🚀'.codePointAt(0);
// 128640
'🇨🇳'.codePointAt(0);
// 127464
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt
String.fromCodePoint()
静态 String.fromCodePoint() 方法返回使用指定的编码点序列创建的字符串
。
String.fromCodePoint(num1)
String.fromCodePoint(num1, num2)
String.fromCodePoint(num1, num2, /* …, */ numN)
参数
num1, ..., numN 一系列代码点
返回值
使用指定的代码点序列创建的字符串
console.log(String.fromCodePoint(9731, 9733, 9842, 0x2F804));
// "☃★♲你"
console.log(String.fromCodePoint(97));
// "a"
LeetCode
- 检查相同字母间的距离
https://leetcode.com/problems/check-distances-between-same-letters/
https://leetcode.cn/problems/check-distances-between-same-letters/
// js 自动生成 26 个小写字母与其ASCII 编码的字典
const num = 'a'.charCodeAt(0);
// 'a' => 97
const dict = {};
for(let i = 0; i < 25; i++) {
let char = String.fromCharCode(num + i);
dict[char] = num + i;
}
console.log(dict);
refs
convert an
ASCII character
to itsASCII code
in JavaScript / convert anASCII code
to itsASCII character
in JavaScript
https://www.techiedelight.com/character-to-ascii-code-javascript/
https://stackoverflow.com/questions/94037/convert-character-to-ascii-code-in-javascript
©xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/16673200.html
未经授权禁止转载,违者必究!