js打印编码问题,如何解决一个字符输出2个标签?

发布于 2022-09-12 13:24:03 字数 423 浏览 21 评论 0

在for循环打印PUA里的字符的时候,总会生成两个标签合成一个字符,而且只能用<span><a><b>之类的文本标签,使用<div><p>之类的会变成�……

且无效对单一个标签进行a:hover之类的操作,否则就会变成�。

a= ''
for(let i in a){ innerHTML+= `<a>${a[i]}</a>`

// 一个字符会输出两个标签,合成一个  字符。
<a>�</a>
<a>�</a>

需要一个字符只输出一个标签,要如何操作呢?

PS:a的字符串是直接CP出来的,可以直接在html里正常显示(@font-face对应字体包)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

熊抱啵儿 2022-09-19 13:24:03

在V站找到了方法。

使用 Array.from() 方法可以正常的打印。

但是有个问题,为什么我手动把字符串改成数组不行,但用 Array.from() 浅考个就成了呐?

滥情哥ㄟ 2022-09-19 13:24:03

image.png

str = '?';
console.log('codePointAt', [str.codePointAt(0),str.codePointAt(1)])
console.log('codePointAt', [str.charCodeAt(0),str.charCodeAt(1)])
console.log('split', [Array.from(str),Array.prototype.slice.call(str)])

正好前段时间也遇到了这个,其实还可以通过 codePointAtcharCodeAt 来比对。

这个分割问题其实怪 emoji,他有可能是多个字符组合成一个图片。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文