假设我有以下 HTML 表情符号实体:“ ;”
请注意,4 和 ; 之间实际上没有空格。它只是在那里,所以它不会显示为笑脸
表情符号的 Python 形式是:u"\U0001f604"
如何将所有 HTML 表情符号实体转换为其 Python 形式?
到目前为止我尝试过的事情:
我试图找到 Unicode 标准定义的表情符号代码点的官方列表,但遇到了一些相互冲突的来源:根据emoji-data.txt,甚至数字都是表情符号;unicode.org 上的其他来源建议仅该列表的一个子集是表情符号,例如表情符号图表和表情符号测试文件。Unicode 技术报告 #51 中甚至有一个名为“ 哪些字符是表情符号”的部分,但它并没有真正回答我的问题,或者至少我在那里看不到它。
那么,哪些 Unicode 代码点是表情符号呢?
这里,str
包含表情符号并且设置的光标位置不正确:
let cursorPosition = str.characters.count
let cursorRange = NSRange(location: cursorPosition, length: 0)
textInputView.selectedRange = cursorRange
textInputView.scrollRangeToVisible(cursorRange)
Run Code Online (Sandbox Code Playgroud)
我目前正在开发一个项目,该项目嵌入一个使用 unicode 表情符号字符的对象。问题是,这些 unicode 表情符号字符的显示方式不同,具体取决于我使用的浏览器。例如,Google Chrome 和 Mozilla Firefox 仅显示 Windows 版本的 unicode 表情符号字符。另一方面,Internet Explorer 11 显示所需的版本(自定义字体)。
图片中的问题:
这是它的外观以及它在 Internet Explorer 11 上的外观(使用自定义字体):
这是它目前在 Google Chrome 和 Mozilla Firefox 上的外观(具有标准 Windows 视觉效果):
我正在使用的 unicode 表情符号字符可以在这里找到:链接。我正在使用的名为:694 空间上的“热饮料”。如您所见,我们识别一种视觉风格,即 Chrome 和 Firefox 使用的 Windows 风格。
所以,现在我知道 Chrome 和 Firefox 都使用 Windows 字体来实现 unicode 表情符号字符的可视化。基于此信息,我尝试通过编辑我的 css(确切地说是 @fontface)并导入自定义字体来解决此问题。这根本不起作用。之后我发现 Internet Explorer 确实可以正确显示它,而无需导入自定义字体。这让我相信解决方案在于这些浏览器之间的差异。问题是,我不知道是什么导致了这种差异。这就是我来这里的原因:
有谁知道是什么原因导致显示 unicode 表情符号字符时出现这种差异?我已经尝试自己解决这个问题,因为我怀疑它们可能不会都支持相同的字体,但如果我看这里: https: //www.w3schools.com/css/css3_fonts.asp似乎不可能问题。
任何帮助是极大的赞赏。
编辑:经过多次尝试,我有了新的发现。在 Windows 7 Ultimate 上,它可以在 Internet Explorer 11 和 Google Chrome 上显示正确的显示(非 Windows 屏幕);
在 …
在VBA Excel中,打印" & Chr(34) & "
是用来定义的"
。我搜索过,"
根据这个网站,它说第 34 个字符是。
以同样的方式竖起大拇指签名,代码是
👍 👍
Run Code Online (Sandbox Code Playgroud)
我努力了:
" & Chr(#128077) & "
" & Chr(128077) & "
" & Chr(#x1f44d) & "
" & Chr(x1f44d) & "
Run Code Online (Sandbox Code Playgroud)
但它说错误为语法错误或期望)或无效参数
谁能给我建议解决方案
假设我有(魔鬼)表情符号。
在 4 字节 UTF-8 中,它的表示方式如下:\u00f0\u009f\u0098\u0088
然而,在 Java 中,它只能正确打印,如下所示:\ud83d\ude08
我如何从第一个转换为第二个?
更新2
MNEMO 的答案要简单得多,并且回答了我的问题,因此最好采用他的解决方案。
更新
感谢巴兹尔·布尔克的撰写。它很有意思。
我在这里找到了一个很好的参考:https://github.com/pRizz/Unicode-Converter/blob/master/conversionfunctions.js(特别是convertUTF82Char()函数)。
对于将来路过这里的任何人来说,Java 中的情况如下:
public static String fromCharCode(int n) {
char c = (char)n;
return Character.toString(c);
}
public static String decToChar(int n) {
// converts a single string representing a decimal number to a character
// note that no checking is performed to ensure that this is just a hex number, eg. no spaces etc
// dec: string, the dec codepoint to …
Run Code Online (Sandbox Code Playgroud) 我的MySQL DB排序规则是:utf8mb4_unicode_ci 如下图:
但是,当我尝试使用 Laravel 将其插入表中时 - 它会抛出以下错误:
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xF0\x9F\x98\x89' for column `challenges`.`challenges`.`description` at row 1 (SQL: insert into `challenges` (`hashtag`, `title`, `description`, `challenge_id`, `image_name`, `category_id`, `duration`, `link`, `user_id`, `updated_at`, `created_at`) values (emojiasd, Emoji Test, Hey this is an emoji , 5edccab9327c4, challenge-55edccab9327e81591528121.png, 2, 0, ?, 5ec443a71e40b, 2020-06-07 11:08:41, 2020-06-07 11:08:41))
Run Code Online (Sandbox Code Playgroud)
这是我的控制器中的存储方法:
public function store(Request $request)
{
//
$this->validate($request, [
'hashtag' => 'required',
'title' => 'required',
'description' => 'required',
'category' => 'required',
'image' …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Google Apps 脚本发送电子邮件。
\n// try 1\nconst subject = \'Hello World \';\n\n// try 2\nconst subject = \'Hello World \' + String.fromCodePoint(\'0x1F600\');\n\nGmailApp.sendEmail(\n \'abc@gmail.com\', subject, \'\',\n {htmlBody: \'<p>Hello World </p>\', name: \'ABC\'}\n);\n
Run Code Online (Sandbox Code Playgroud)\n当我使用 \xe2\xad\x90 时,它在主题和 HTML 正文中都能完美运行。但是,当我使用 时,它在主题和 HTML 正文中显示带有问号的黑色菱形。
\n我还检查了如何将表情符号插入使用 GmailApp 发送的电子邮件中?但它只展示了如何在电子邮件正文中使用它,而不是主题。
\n我尝试过使用 MailApp 并且它有效,但由于某些原因我不想使用它。
\n关于如何解决这个问题有什么想法吗?
\n我使用 Emoji Unicode https://www.w3schools.com/charsets/ref_emoji.asp将表情符号添加到我的网站 。在 Android、Mac 和 iPhone 上,用户有彩色表情符号,而在 Windows7(Chrome 和 Edge)上有黑色和白色表情符号。我还没有测试windows10。
有什么办法可以解决这个问题吗?
我这边的 SCR 预览:
Write like this
msg * "My emoji "
Run Code Online (Sandbox Code Playgroud)
But on popup I get
msg *“我的表情符号(随机符号)”
如何在 Windows 10 上为批处理文件弹出窗口编写特定的表情符号?