2012-07-31 19 views
1

我有一個腳本來返回文本文件的部分,但我注意到它有時會返回直接查看文本文件時不可見的字符。例如,一句話:AppleScript返回具有奇怪字符的文本

breeders 

成爲

breed‰ rs 

我嘗試添加「爲Unicode文本」,以我的文字回報,但不工作。思考?這裏是我的腳本:

set some_file to "[...]Words.txt" as alias 
set the_text to read some_file as string 
set the text item delimiters of AppleScript to ", " 
set the_lines to (every text item of the_text) 
return some item of the_lines as Unicode text 

回答

4

您是否嘗試過類似ruby -KU -e '"breeders".chars{|c|puts c.unpack("U*")[0].to_s(16)}'或搜索未在角色閱讀器上正確顯示的文字?除非添加as «class utf8»

read會混雜了非ASCII字符:

do shell script "echo ä > /tmp/test.txt" 
read POSIX file "/tmp/test.txt" as «class utf8» 

as textas string,並as Unicode text已經相當於since 10.5

+0

我可以使用PlainClip剪切,從剪貼板中「刪除不可見的控制字符」,並粘貼。但我希望不必經常這樣做。不知道如何做pbpaste或shell腳本。你可以把你的代碼放在上下文中嗎?如果我將「as string」替換爲「class utf8」,則格式對於繁殖者來說有所改善,但它仍然不完美。 – Zade 2012-08-01 00:24:08

+0

實際上,pbpaste也不能很好地處理非ASCII字符,所以我用Ruby命令替換了它。在任何情況下,原始文本文件可能都包含一些非意圖字符。 – user495470 2012-08-01 09:46:49

+0

你可以把ruby命令放在我的AppleScript代碼的上下文中嗎?我根本不知道那種語言。謝謝! – Zade 2012-08-01 18:21:03