我正在寻找我下载的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