首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >applescript textedit字符

applescript textedit字符
EN

Stack Overflow用户
提问于 2014-08-16 00:30:20
回答 2查看 285关注 0票数 0

我已经编写了一个脚本,它将textedit中的文档字符(RTF)放入一个列表变量中,运行得很好,但是我得到的一些字符并不是我所期望的。例如‘(单引号)字符。我期望的是id=39 (ASCII39),我得到了一个ID=8217,如果我将它转换成ASCII码(将y_ascii_num设置为ASCII码x),我得到一个ASCII213。

我是不是错过了某种转换?

下面是我用来获取字符的代码:

代码语言:javascript
复制
tell application "TextEdit"
    activate
    open gp_file_in
    set gp_file_in_name to name of document 1
    tell document 1
        set gp_list_char to get characters
        set gp_list_font_char to get font of characters
        set gp_list_size_char to get size of characters 
    end tell

    close document 1
end tell

示例测试数据将是使用textedit创建的RTF文件,其中只包含4个字符:

EN

回答 2

Stack Overflow用户

发布于 2014-08-16 01:26:48

ASCII 213是一个有角度的单引号(带有斜引号)与39,这是一个直接的单引号(没有斜引号,只是垂直的)

更多细节在这里...http://en.wikipedia.org/wiki/Quotation_mark_glyphs

票数 0
EN

Stack Overflow用户

发布于 2014-08-19 18:39:10

TextEdit、AppleScript、Mac和网络上的文本是UTF8,而不是ASCII码。如果将其作为UTF-8处理,将不会得到意想不到的结果。

‘(单引号)字符

这不是单引号,这是单质数。这是一句“程序员的名言”,这就是为什么它在传统的计算机键盘上有突出的特色。这个字符只属于计算机代码。它不应该出现在任何书面文本中。

和我得到了一个ID=8217

这是一个撇号。这正是你想要的单词,比如“不要”。“8217”是撇号的UTF-8代码。

还要记住,当您与TextEdit交谈时,文本是带样式的文本(也称为富文本)。并且您将文本作为对象处理,而不是文本字符串。这就是为什么你可以向TextEdit请求一个字符的“字体”属性。

如果您只想要文本本身,则将文档的文本设置为变量:

代码语言:javascript
复制
tell application "TextEdit"
    set theUTF8Text to the text of document 1
end tell

我不明白你为什么要把它转换成ASCII,但我建议你尽量不要这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25330355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档