相关疑难解决方法(0)

BMP之外的JavaScript字符串

BMP是基本的多语言平面

根据JavaScript:好的部分:

JavaScript是在16位字符集的时候构建的,因此JavaScript中的所有字符都是16位宽.

这让我相信JavaScript使用UCS-2(不是UTF-16!)并且只能处理U + FFFF以前的字符.

进一步调查证实了这一点:

> String.fromCharCode(0x20001);
Run Code Online (Sandbox Code Playgroud)

fromCharCode返回Unicode字符时,该方法似乎只使用最低16位.试图获得U + 20001(CJK统一表意文字20001)而不是返回U + 0001.

问题:是否可以在JavaScript中处理后BMP字符?


2011-07-31:来自Unicode支持Shootout的 12个幻灯片:好的,坏的,以及(大部分)Ugly很好地解决了与此相关的问题:

javascript unicode utf-16 surrogate-pairs astral-plane

38
推荐指数
1
解决办法
1万
查看次数

用表情符号替换字符串

给定是具有表示表情符号的代码的输入字段.我现在想用相应的表情符号替换此代码.

我的想法是用unicode替换值,但这对我的输入不起作用.只有当我将表情符号本身复制到代码中时,替换才有效.

例:

给定代码:[e-1f60e],
转换:😎,
应该是:

我的问题:如何将给定的代码转换为JavaScript中的表情符号?

$("#tauschen").click(function() {
  $('#blub').val(function(index, value) {
    return value.replace('[e-1f60e]', '😎'); // Doesn't work
  });
});

$("#tauschen2").click(function() {
  $('#blub2').val(function(index, value) {
    return value.replace('[e-1f60e]', ''); // Works - but how to convert the given string to an emoji?!
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
  Given are strings in an imout field like these, representing an emoji: <strong>[e-1f60e]</strong> </p>

<p>
 Now I want to display them "live" as emojis, instead of only the code: &#x1f60e; …
Run Code Online (Sandbox Code Playgroud)

javascript

3
推荐指数
1
解决办法
1030
查看次数

如何从 JavaScript 中的表情符号中获取真正的字符代码?

例如,我有这个表情符号:


Run Code Online (Sandbox Code Playgroud)

...我想得到你的字符代码。我试过这个:

但是当使用String的fromCharCode方法时,我没有得到原始的表情符号:

var emoji = ""
var char_code = emoji.charCodeAt()
console.log(emoji,char_code)
Run Code Online (Sandbox Code Playgroud)

如何从您的字符代码中获取原始表情符号?否则我怎样才能让你的实际字符代码在其中使用它String.fromCharCode

javascript fromcharcode emoji

3
推荐指数
1
解决办法
357
查看次数

表情符号模板文字中的 Unicode 值

当我尝试使用字符串模板生成表情符号时,出现错误。

如何达到这个目的?

Javascript代码:

const unifiedValue = '1F60E';
const emoji = `\u{${ unifiedValue }}`;
Run Code Online (Sandbox Code Playgroud)

Javascript 错误:

SyntaxError:模板中的转义序列无效

当然,如果我直接使用该值,它会起作用,但这会很容易出错 + 具有数百个if条件的数千行代码。

开发者控制台:

'\u{1F60E}'
Run Code Online (Sandbox Code Playgroud)

控制台输出: “”

javascript unicode emoji template-literals

2
推荐指数
1
解决办法
1150
查看次数