我正在尋找我下載的asn.tcl文件,它使用的編碼convertfrom ascii。 當我運行這個命令它在ascii編碼上失敗(它與utf-8一起工作)。 任何人都知道如何與ascii一起使用它?Tcl - 編碼convertfrom ascii
謝謝。
我正在尋找我下載的asn.tcl文件,它使用的編碼convertfrom ascii。 當我運行這個命令它在ascii編碼上失敗(它與utf-8一起工作)。 任何人都知道如何與ascii一起使用它?Tcl - 編碼convertfrom ascii
謝謝。
ASN.1通常最好作爲二進制數據處理,並且包含在其中的字符串的編碼應該是這些字符串的鍵應該定義的。在不知道使用什麼編碼的情況下,編碼iso8859-1
是第一選擇,因爲這是特殊的編碼,不會對二進制數據造成可怕的損壞。 (這是因爲它準確地將0-255範圍內的字節映射到U + 000000-U + 0000FF範圍內的字符,這是平凡的和無損的。)猜測否則編碼很難,有時是不可能的。
我不想手動解析ASN.1。使用tcllib package for it。與普通的標籤,它可以做的大部分工作對您:
package require asn
set f [open "mydata.ber" "rb"]
set myData [read $f]
close $f
# ...
# Data being parsed is now in $myData variable
# I assume that we've reached a string in the parsing of it
# ...
asn::asnGetString myData myString
puts "String parsed was '$myString'"
不過,我想,用它仍然有人需要在邏輯層來了解ASN.1。
的超集,謝謝,我使用了iso8859-1,它完成了這項工作 – itayb
ASCII是UTF-8的子集。當您將ASCII中的所有字符與UTF-8中的相同字符進行比較時,它們之間幾乎沒有差別。差異來自擴展的ASCII,但擴展的ASCII不稱爲ASCII,因爲有許多變體。有Windows-1252,有Latin-1等。它們都是UTF-8,它們都是ASCII – slebetman