我一直认为,当我需要箭头或子弹或其他任何东西时,我可以在字符串中使用简单的标志性unicode字符.字形将呈现与字符串其余部分相同的颜色,并带有简洁明了的图标.我可以通过在XCode的"编辑"菜单上使用Mac的"特殊字符"对话框来预览它们的外观.
在iOS5中,这些字形以全彩色呈现,并且不简单和干净.我相信这些是表情符号图标?
我正在寻找这种变化的解释,理想情况下如何强制iOS5恢复到iOS2 - iOS4行为.
这是一个例子: @"? left arrow, right arrow ? airplane ?";
编辑:
显然,用于呈现text(drawAtPoint: / drawInRect:)的NSString UIKit扩展不会出现此行为.那么也许这是UILabel的事情?具体来说,我已经在UISegmentControl段按钮和UILabel中注意到了它.
我一直在尝试编写一个简单的脚本,可以将用户输入(源自iPhone)保存到文本文件中.我遇到的问题是,当用户使用表情符号图标时,它会打破整个事情.
操作系统:Ubuntu
Python版本:2.7.3
我的代码目前看起来像这样
f = codecs.open(path, "w+", encoding="utf8")
f.write("Desc: " + json_obj["description"])
f.close()
Run Code Online (Sandbox Code Playgroud)
当在描述变量中传递表情符号字符时,我收到错误:
UnicodeEncodeError:'ascii'编解码器无法编码位置7-8中的字符:序数不在范围内(128)
任何可能的帮助表示赞赏.
我正在与UILabel一起使用表情符号并且想要做SizeToFit.但是,它给我带来了错误的标签高度.没有表情符号它很有效,可能是什么问题以及如何解决它?
UILabel * textLabel = [UILabel new];
[textLabel setText:commentString];
[textLabel setFont:[UIFont systemFontOfSize:14.0f]];
[textLabel setFrame:CGRectMake(0,
0,
250,
0)];
[textLabel setNumberOfLines:0];
[textLabel sizeToFit];
Run Code Online (Sandbox Code Playgroud) 我正在开发一个在文本文件中写入输出的java程序.当出现问题时,我必须把这个ASCII艺术:
¯\_(?)_/¯
Run Code Online (Sandbox Code Playgroud)
我这样做了BufferedOutputStream:
errorOutput.writeln("##################################\n"
+ "##### Error Output ######\n"
+ "##### ¯\\_(?)_/¯ ######\n"
+ "##################################\n");
Run Code Online (Sandbox Code Playgroud)
问题是,当我看到用java编写的txt日志时,我得到了这个:
##################################
##### Error Output ######
##### ¯\_(ツ)_/¯ ######
##################################
Run Code Online (Sandbox Code Playgroud)
如何在Java中编写正确的ASCII表情符号?
我试图显示一个字符html实体
echo htmlentities(htmlentities("&"));
//outputs &
echo htmlentities(htmlentities("<"));
//outputs <
Run Code Online (Sandbox Code Playgroud)
但它似乎不适用于表情符号
echo htmlentities(htmlentities(""));
//outputs
Run Code Online (Sandbox Code Playgroud)
我怎样才能输出😎?
我试图显示用户输入的所有html实体编码的字符串.
echo htmlentities(htmlentities($input))
例:
"this & that " -> "this & that 😎"
我已经设置了一个小的AutoHotkey脚本,它使用热字符串来允许我键入一些表情符号和其他特殊字符:
#SingleInstance force
#Hotstring * ?
::–::–
::†::†
::π::
::&shrug;::¯\_(?)_/¯
::&tm;::™
::&c;::©
::&r;::®
::&tableflip;::(?°?°??? ???
::&music;::?
::&piano;::
::&cmark;::?
::&xmark;::?
::&hourglass;::?
Run Code Online (Sandbox Code Playgroud)
该脚本也可以在PasteBin上使用.
但是,某些替换在任何地方都不起作用,例如在Telegram Desktop中:

这两个表情符号最初都是从Telegram Desktop复制的,因此它们肯定受到支持.
为什么这不按预期工作?
我在Windows 10(版本1511),Sublime Text 3(3103)和Telegram Desktop 0.9.28上运行版本1.1.23.3中的AutoHotkey Unicode 64位.
我正在和Postgres和新手一起工作,
我必须将用户的评论(如Facebook评论)存储到数据库中.可能我会使用列类型"text"来存储注释.
如果注释与emojis(unicode)混淆,文本类型就足够了,或者我应该使用任何其他列类型?
因此众所周知,苹果在unicode中支持表情符号的图像可以以高达160x160像素的分辨率提取.有一个工具可以在OS X上通过从"apple color emoji"字体中提取数据来执行此操作:https://github.com/tmm1/emoji-extractor
我有兴趣在iOS上以类似的方式提取/利用苹果的Emoji图像,我找到了以下解决方案,并且非常喜欢这里的实现:https://stackoverflow.com/a/38809531/4556704
extension String {
func image() -> UIImage {
let size = CGSize(width: 30, height: 35)
UIGraphicsBeginImageContextWithOptions(size, false, 0);
UIColor.whiteColor().set()
let rect = CGRect(origin: CGPointZero, size: size)
UIRectFill(CGRect(origin: CGPointZero, size: size))
(self as NSString).drawInRect(rect, withAttributes: [NSFontAttributeName: UIFont.systemFontOfSize(30)])
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了一个问题,即我遇到了这个实现.如果我使用上面的字符串扩展名,我很明显结果图像的分辨率不是160x160像素.我的意思是,如果我要在项目的资产中包含一个160x160的图像,我无法生成质量相当的图像.
这是什么原因,如果不向我的项目导入超过1700个表情符号图像,我可以解决这个问题吗?我认为iOS上的字体仍然必须包含生成160x160图像样本所需的数据.String扩展是理想的,因为它允许我比我简单地导入所有这些图像更自由地引用表情符号字符.
我认为这可能需要一些低级代码,这可能比它的价值更麻烦,但我真的很想知道更多关于这个问题的根源和可能的修复.我确信这归因于苹果没有将表情符号渲染到高于必要水平的水平,但肯定有一些方法可以覆盖它.另外我知道还有其他高分辨率的表情符号图像集,这个问题与此无关.
编辑10/18/16:我得出结论,问题可归因于被采样的源图像不具有可能的最高分辨率.似乎表情符号没有以高于48x48像素的分辨率进行渲染,因为已经证明表情符号图像可以在OS X上渲染到160x160像素,并且可以从"Apple Color Emoji.ttf/.ttc"中删除"在160x160像素.我不确定是否有可能解决这个问题,因为它似乎是iOS使用unicode字符代码映射到png图像数据的强硬限制.
我被困在其中一个组件上使用jquery表情符号插件,直到完成要构建的自定义插件。
出于某种原因,当我在componentDidMount内调用emoji插件时,除使用自定义按钮显示emoji模态的功能外,其他所有东西都起作用。当我使用自定义按钮时,表情符号插件不会将事件附加到按钮上。
疯狂的是,我可以在useEffect中使用相同的代码,并将事件侦听器附加到自定义按钮上。
通过在Web控制台中查看页面加载后附加到元素的事件,我验证了事件监听器是否未附加。
您可以通过将此组件放置在应用程序中的某个位置(并使用emoji-area插件导入jquery)来轻松重现此问题:
import React, {useEffect} from 'react';
export default function CommentInput(props) {
useEffect(() => {
const id = props.blurtId,
$wysiwyg = $('#' + id).emojiarea({
button: '#emoji-btn' + id
});
$.emojiarea.path = '/js/jquery/emojis/';
$.emojiarea.icons = {
':smile:' : 'smile.png',
':angry:' : 'angry.png',
':flushed:' : 'flushed.png',
':neckbeard:' : 'neckbeard.png',
':laughing:' : 'laughing.png'
};
}, []);
return (
<>
<textarea id={props.blurtId} className='blurt-comment-input' />
<i id={'emoji-btn' + props.blurtId} className='fa fa-smile emoji-btn' />
</>
)
} …Run Code Online (Sandbox Code Playgroud) 我使用 ahk 脚本发送正常的电子邮件(将在问题结束时发布整个脚本)。我现在正在设置一个脚本来发送 HTML 格式的电子邮件。发送 HTML 格式的电子邮件所需的唯一更改是更改:
pmsg.TextBody
Run Code Online (Sandbox Code Playgroud)
到:
pmsg.HtmlBody
Run Code Online (Sandbox Code Playgroud)
我在 .html 文件名和主题中有一个表情符号:
MailSubject = ?? Welcome to Vinewood Studios!
FileRead, MailBody, J:\ONLINE_STORAGE\GOOGLE_DRIVE\Gmail Templates\VSA\VSA-PRE-ORDER\?? Welcome to Vinewood Studios!.html
Run Code Online (Sandbox Code Playgroud)
该脚本可以很好地读取 html 文件并发送电子邮件。问题在于,只要有表情符号或特殊字符,例如 ™ 或 •,就会产生问号或符号。在此处查看主题行和页脚:
我尝试使用表情符号的 Unicode,如下所示(没有冒号):
MailSubject = {U+1F601} "Welcome to Vinewood Studios!"
Run Code Online (Sandbox Code Playgroud)
所有这些方式甚至都不会发送,我收到一个关于对象文字中“缺少“键”的错误。:(我明白为什么我会收到错误,因为 {U+1F601} 没有被视为“值”,但是而是一个字符串。但是,这是当您想用表情符号替换文本时使用它的方式,所以我不知道为什么在这种情况下会有所不同)
MailSubject := {U+1F601} "Welcome to Vinewood Studios!"
MailSubject := {U+1F601} . "Welcome to Vinewood Studios!"
emoji := {U+1F601}?
MailSubject := emoji . "Welcome to Vinewood Studios!"
Run Code Online (Sandbox Code Playgroud)
使用时:=
MailSubject := ?? Welcome to Vinewood …Run Code Online (Sandbox Code Playgroud) emoji ×10
unicode ×4
autohotkey ×2
encoding ×2
ios ×2
ascii ×1
ascii-art ×1
fonts ×1
html-email ×1
ios5 ×1
java ×1
javascript ×1
label ×1
php ×1
postgresql ×1
python ×1
python-2.7 ×1
reactjs ×1
size ×1
swift ×1