对于在python中使用re删除unicode表情符号感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python中的删除符号,并为您提供关于iOS无法正确解码json格式的表情符号unicod
对于在python中使用re删除unicode表情符号感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python中的删除符号,并为您提供关于iOS无法正确解码json格式的表情符号unicode,并且表情符号图标显示为正方形、Java 无法识别我的 unicode 表情符号(错误:未知表情符号)、JS charCodeAt在PHP中的等价物(完整的unicode和表情符号兼容性)、Python Kivy 在标签中使用彩色表情符号的有用信息。
本文目录一览:- 在python中使用re删除unicode表情符号(python中的删除符号)
- iOS无法正确解码json格式的表情符号unicode,并且表情符号图标显示为正方形
- Java 无法识别我的 unicode 表情符号(错误:未知表情符号)
- JS charCodeAt在PHP中的等价物(完整的unicode和表情符号兼容性)
- Python Kivy 在标签中使用彩色表情符号
在python中使用re删除unicode表情符号(python中的删除符号)
我试图从unicode鸣叫文本中删除表情符号,并使用python 2.7打印出结果
myre = re.compile(u''[\u1F300-\u1F5FF\u1F600-\u1F64F\u1F680-\u1F6FF\u2600-\u26FF\u2700-\u27BF]+'',re.UNICODE)print myre.sub('''', text)
但似乎几乎所有字符都已从文本中删除。我检查了其他帖子的几个答案,很遗憾,这些答案都无法在此工作。我在re.compile()中做任何错吗?
这是一个示例输出,其中删除了所有字符:
“ '' //./” ! # # # …
答案1
小编典典您未对非BMP unicode点使用正确的符号;您要使用\U0001FFFF
, 大写 U
和8位数字:
myre = re.compile(u''['' u''\U0001F300-\U0001F5FF'' u''\U0001F600-\U0001F64F'' u''\U0001F680-\U0001F6FF'' u''\u2600-\u26FF\u2700-\u27BF]+'', re.UNICODE)
可以简化为:
myre = re.compile(u''['' u''\U0001F300-\U0001F64F'' u''\U0001F680-\U0001F6FF'' u''\u2600-\u26FF\u2700-\u27BF]+'', re.UNICODE)
因为您的前两个范围是相邻的。
您的版本正在指定(增加了可读性的空格):
[\u1F30 0-\u1F5F F\u1F60 0-\u1F64 F\u1F68 0-\u1F6F F \u2600-\u26FF\u2700-\u27BF]+
这是因为\uxxxx
转义序列始终仅使用4个十六进制数字,而不是5。
这些范围中最大的范围是0-\u1F6F
(因此,从数字0
到Ὧ
),它涵盖了Unicode标准的
很大 范围。
如果您使用UCS-4宽的Python可执行文件,则更正后的表达式将起作用:
>>> import re>>> myre = re.compile(u''[''... u''\U0001F300-\U0001F64F''... u''\U0001F680-\U0001F6FF''... u''\u2600-\u26FF\u2700-\u27BF]+'', ... re.UNICODE)>>> myre.sub('''', u''Some example text with a sleepy face: \U0001f62a'')u''Some example text with a sleepy face: ''
UCS-2等效项是:
myre = re.compile(u''('' u''\ud83c[\udf00-\udfff]|'' u''\ud83d[\udc00-\ude4f\ude80-\udeff]|'' u''[\u2600-\u26FF\u2700-\u27BF])+'', re.UNICODE)
您可以使用异常处理程序将两者结合到脚本中:
try: # Wide UCS-4 build myre = re.compile(u''['' u''\U0001F300-\U0001F64F'' u''\U0001F680-\U0001F6FF'' u''\u2600-\u26FF\u2700-\u27BF]+'', re.UNICODE)except re.error: # Narrow UCS-2 build myre = re.compile(u''('' u''\ud83c[\udf00-\udfff]|'' u''\ud83d[\udc00-\ude4f\ude80-\udeff]|'' u''[\u2600-\u26FF\u2700-\u27BF])+'', re.UNICODE)
当然,正则表达式已经过时了,因为它不包括在较新的Unicode版本中定义的Emoji。它似乎涵盖了Emoji定义的Unicode 8.0(因为Unicode
9.0中添加了U + 1F91D HANDSHAKE)。
如果您需要最新的正则表达式,请从积极尝试使Emoji保持最新状态的软件包中获取一个;它特别支持生成这样的正则表达式:
import emojidef remove_emoji(text): return emoji.get_emoji_regexp().sub(u'''', text)
该软件包当前是Unicode 11.0的最新版本,并具有可以快速更新到将来发行版的基础结构。您的项目要做的就是在有新版本时进行升级。
iOS无法正确解码json格式的表情符号unicode,并且表情符号图标显示为正方形
我正在开发一个iPhone应用程序,该应用程序允许人们使用表情符号图标发送消息。我使用字符集utf8mb4和排序规则utf8mb4_unicode_ci将图标保存在Mysql中,所有表情符号图标均正确保存在数据库中。但是,当我将json返回给客户端(php
json_encode)时,表情符号被编码为如下形式:’\ ud83d \
ude04’,iPhone将其显示为正方形。但是,如果我以XML格式返回,则Emoji表情图标不会像这样变成unicode:“ \ ud83d \
ude04”,而只是该图标。
我想知道这是服务器还是客户端上的问题。如果是我的客户,对象c怎么能正确解码它。
有人可以帮忙吗?
谢谢
Java 无法识别我的 unicode 表情符号(错误:未知表情符号)
如何解决Java 无法识别我的 unicode 表情符号(错误:未知表情符号)?
我对 Java 中的字符串和 Unicode 有疑问。 我目前正在为 discord 开发一个机器人,并且必须向它传递一个带有表情符号的字符串。为此,我使用特定于 Java 的形式,例如,我想要表情符号“火”。如果我在字符串中手动设置 java 特定代码 (\uD83D \uDD25) 的方法,它可以工作,但如果我在那里使用返回值(也是一个字符串),整个事情就不再有效。 因此,问题是如果手动输入特定于 Java 的代码和自动输入它是否有区别。也许java无法识别第二个也是unicode?p>
感谢您的帮助
String emoji1 = "\uD83D\uDD25";
String emoji2 = convertToJava(":fire:"); //return a String with the content "\uD83D\uDD25"
msg.addReaction(ReactionEmoji.of(id,emoji1,isAnimated)).block(); //this is working
msg.addReaction(ReactionEmoji.of(id,emoji2,isAnimated)).block(); //this returns me an error called "unkNown emoji"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
JS charCodeAt在PHP中的等价物(完整的unicode和表情符号兼容性)
我在JS中有一个简单的代码,如果涉及特殊字符,我无法在PHP中复制。
这是JS代码(请参阅JSFiddle输出):
var str = "t↙️"; //char "t" and special characters, emojis, etc..
document.write("Length is: "+str.length); // Length is: 19
for(var i=0; i<str.length; i++) {
document.write("<br> charCodeAt(" + i + "): " + str.charCodeAt(i));
}
第一个问题是PHP strlen()
并且mb_strlen()
已经给出了JS的不同结果(strlen:39,mb_strlen:11),但是我设法使用自定义JS_StringLength
函数(由于这个 SO答案)。
这是我到目前为止在PHP中的内容(请参阅phpFiddle输出):
<?php
function JS_StringLength($string) {
return strlen(iconv(''UTF-8'', ''UTF-16LE'', $string)) / 2;
}
function JS_charCodeAt($str, $index){
//not working!
$char = mb_substr($str, $index, 1, ''UTF-8'');
if (mb_check_encoding($char, ''UTF-8''))
{
$ret = mb_convert_encoding($char, ''UTF-32BE'', ''UTF-8'');
return hexdec(bin2hex($ret));
} else {
return null;
}
}
$str = "t↙️";
echo $str."\n";
//echo "Length is: ".strlen($str)."\n"; //wrong
echo "Length is: ".JS_StringLength($str)."\n"; //OK
for($i=0; $i<JS_StringLength($str); $i++) {
echo "charCodeAt(".$i."): ".JS_charCodeAt($str, $i)."\n";
}
经过一整天的谷歌搜索,并 尝试 了 我发现的一切,没有任何东西给出与JS相同的结果。什么应该JS_charCodeAt
是获得相同输出的JS有类似的表现?
试验#1:将 我的字符串输入https://r12a.github.io/app-conversion/(很棒的东西)。看起来JS使用UTF-16代码单元(19)和PHP strlen
计算UTF-8代码单元(39)。
试验#2: 当json_encode()
我在我的字符串上使用时 - 当然 - 结果几乎就是这样,JavaScript可能会使用什么。我甚至检查了json_encode的原始PHP源代码以及json_encode如何转义字符串,但是......好吧..
转: https://cloud.tencent.com/developer/ask/191240/answer/298870
参考 : http://www.w3school.com.cn/jsref/jsref_charCodeAt.asp
Python Kivy 在标签中使用彩色表情符号
如何解决Python Kivy 在标签中使用彩色表情符号?
我一直在尝试使用 Python 和 Kivy 显示彩色表情符号,但我能做到的最好的是:
我尝试使用不同的字体,但都没有显示颜色。我也尝试过 otf
文件格式,但没有成功。这是我的代码:
from kivy.app import App
from kivy.uix.label import Label
class TestApp(App):
def build(self):
return Label(text="???️??",font_name="seguiemj")
TestApp().run()
我不是要更改文本颜色,而是实际显示带有内置颜色的字体。我试过自我搜索,但对于这是否可能,似乎没有明确的“是”或“否”。
如果有人能告诉我在可能的情况下如何实现这一点,以及在不可能的情况下如何实现这一点以及另一种方法(希望不涉及使用图像的方法),那将非常有帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
今天关于在python中使用re删除unicode表情符号和python中的删除符号的分享就到这里,希望大家有所收获,若想了解更多关于iOS无法正确解码json格式的表情符号unicode,并且表情符号图标显示为正方形、Java 无法识别我的 unicode 表情符号(错误:未知表情符号)、JS charCodeAt在PHP中的等价物(完整的unicode和表情符号兼容性)、Python Kivy 在标签中使用彩色表情符号等相关知识,可以在本站进行查询。
本文标签: