You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中codePointAt与fromCodePoint输出不一致问题咨询

问题解析

你遇到的是视觉渲染混淆导致的误解:

  • String.fromCodePoint(1)生成的是Unicode码点U+0001(标题开始控制字符,SOH),这个字符本身不可见,大部分终端/浏览器会用☺作为替代渲染符号,但它的真实码点还是1。
  • 你直接写的'☺'是Unicode码点U+263A(白色笑脸符号),这个是标准的可见表情字符,十进制码点就是9786。

验证代码:

// 生成U+0001,渲染为☺
console.log(String.fromCodePoint(1)); 
// 输出真实码点1
console.log(String.fromCodePoint(1).codePointAt(0)); 
// 输出U+263A的码点9786
console.log('☺'.codePointAt(0)); 

本质是:两个字符视觉显示相同,但实际是完全不同的Unicode字符,码点自然不一样。

内容的提问来源于stack exchange,提问作者SIXIMPALA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:11:40