相关疑难解决方法(0)

jquery .text()和unicode

我想在HTML链接文本中显示"Open Lock"字符.

如果我直接执行它会正确显示<a id="myId">&#x1f512;</a>,但我发现没有办法用jQuery .text()函数改变它,就像在:

 $("#myID").text(openLockText);
Run Code Online (Sandbox Code Playgroud)

我应该在openLockText中添加什么?

html javascript unicode jquery

31
推荐指数
3
解决办法
3万
查看次数

如何使用javascript删除表情符号代码?

如何使用JavaScript删除表情符号代码?我以为我使用下面的代码照顾它,但我仍然有像这样的字符.

function removeInvalidChars() {
    return this.replace(/[\uE000-\uF8FF]/g, '');
}
Run Code Online (Sandbox Code Playgroud)

javascript unicode emoji

26
推荐指数
8
解决办法
4万
查看次数

使用JavaScript和HTML打印表情符号

为什么这样做:

<p id="emoji">&#x1f604;</p>
Run Code Online (Sandbox Code Playgroud)

而这不是:

document.getElementById("emoji").innerHTML = String.fromCharCode(parseInt('1f604', 16));
Run Code Online (Sandbox Code Playgroud)

html javascript unicode emoji

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

javascript和字符串操作w/utf-16代理对

正在开发一个推特应用程序,偶然发现了utf-8(16)的世界.似乎大多数javascript字符串函数对代理对都是盲目的.我必须重新编码一些东西才能让它具有广泛的字符意识.

我有这个函数来解析字符串到数组,同时保留代理对.然后我将重新编码几个函数来处理数组而不是字符串.

function sortSurrogates(str){
  var cp = [];                 // array to hold code points
  while(str.length){           // loop till we've done the whole string
    if(/[\uD800-\uDFFF]/.test(str.substr(0,1))){ // test the first character
                               // High surrogate found low surrogate follows
      cp.push(str.substr(0,2)); // push the two onto array
      str = str.substr(2);     // clip the two off the string
    }else{                     // else BMP code point
      cp.push(str.substr(0,1)); // push one onto array
      str = str.substr(1);     // clip one from string 
    }
  }                            // loop
  return cp; …
Run Code Online (Sandbox Code Playgroud)

javascript string unicode twitter utf-16

16
推荐指数
4
解决办法
8572
查看次数

如何将包含表情符号的字符串拆分为数组?

(您需要Firefox或Safari才能在代码中看到表情符号.)

我想带一串表情符号并用个别角色做点什么.

在JavaScript中,"?".length == 13因为"?"长度为1,其余为2.所以我们做不到

s = string.split(""); 
c = [];
c[0] = s[0]+s[1];
Run Code Online (Sandbox Code Playgroud)

这是我做的: 表情符号海报

javascript unicode emoji

16
推荐指数
7
解决办法
7792
查看次数

将JavaScript字符串拆分为代码点数组?(考虑到"代理对"而不是"字形群")

将JavaScript字符串拆分为"字符"可以简单地完成,但如果您关心Unicode(并且您应该关心Unicode)则会出现问题.

JavaScript本身将字符视为16位实体(UCS-2或UTF-16),但这不允许BMP(基本多语言平面)之外的Unicode字符.

为了处理BMP之外的Unicode字符,JavaScript必须考虑" 代理对 ",它本身并不是这样做的.

我正在寻找如何通过codepoint拆分js字符串,无论代码点是否需要一个或两个JavaScript"字符"(代码单元).

根据您的需要,按代码点拆分可能还不够,您可能希望拆分" 字形集群 ",其中集群是基本代码点,后跟所有非间距修改代码点,例如组合重音符号和变音符号.

出于这个问题的目的,我不需要通过字形集群进行拆分.

javascript string unicode codepoint surrogate-pairs

15
推荐指数
3
解决办法
2872
查看次数

如何在JavaScript中使用五位长的Unicode字符

在JavaScript中,我可以这样做:

foo = "\u2669" // 1/4 note
Run Code Online (Sandbox Code Playgroud)

但我不能这样做

foo = "\u1D15D" // full note  -five hex digits
Run Code Online (Sandbox Code Playgroud)

它将被解释为"\ u1D15"后跟"D"

这有什么变通方法吗?

更新2012-07-09:ECMAScript Harmony的提议现在包括对所有Unicode字符的支持.

javascript unicode ecmascript-harmony

11
推荐指数
2
解决办法
2603
查看次数

在javascript中使用regexp替换表情符号unicode符号

众所周知,表情符号最多可编码为3或4个字节,因此它可能会占用我的字符串中的2个符号.例如'wew'.length = 7我想在我的文本中找到这些符号,并将它们替换为依赖于其代码的值.读SO,我带着unicode插件来到XRegExp库,但还没找到如何使它工作的方法.

var str = 'wew';// \u1F601 symbol
var reg = XRegExp('[\u1F601-\u1F64F]', 'g'); //  /[?1-?F]/g -doesn't make a lot of sense  
//var reg = XRegExp('[\uD83D\uDE01-\uD83D\uDE4F]', 'g'); //Range out of order in character class
//var reg = XRegExp('\\p{L}', 'g'); //doesn't match my symbols
console.log(XRegExp.replace(str, reg, function(match){
   return encodeURIComponent(match);// here I want to have smth like that %F0%9F%98%84 to be able to map anything I want to this value and replace to it
}));
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

我真的不想强行查找我的范围内的字符序列.有人可以帮我找到用regexp做的方法.

EDITED刚想 出了一个枚举所有表情符号的想法.比野蛮力更好,但仍然在寻找更好的主意

var …
Run Code Online (Sandbox Code Playgroud)

javascript regex unicode emoji

10
推荐指数
4
解决办法
3万
查看次数

在javascript字符串中获取字形字符数?

我试图在用户可见的字形中获取javascript字符串的长度,即忽略组合字符(和代理对?).这是可能的,如果是的话,我该怎么做呢?

我们在项目中使用了dojo工具包,但任何通用的JavaScript解决方案都会很棒.

javascript unicode grapheme

4
推荐指数
3
解决办法
1665
查看次数

使用".".charCodeAt()和String.fromCharCode用JS获取一些字符(代码值> 55349)

我有unicode字符和JS的问题.我有一个书签,以帮助我键入奇怪的unicode字符.

"".charCodeAt(pos)用来获取unicode代码来重现相同的奇怪字符,String.FromChardCode反之亦然.但是,对于具有unicode代码> 55349的字符,我遇到了一个问题:http: //en.wikipedia.org/wiki/Blackboard_bold

例如,对于Blackboard bold X(120169):

如果我试图从代码中获取它:

alert(String.fromCharCode(120169));
Run Code Online (Sandbox Code Playgroud)

如果我尝试直接从JS获取代码,我会获得另一个角色,同样的事情:

s="";
alert(s.charCodeAt(0))
alert(s.charCodeAt(1))
Run Code Online (Sandbox Code Playgroud)

结果:55349 56655

有一种方法可以处理这些字符吗?


javascript

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