2017-01-26 8 views
0

私はダウンロードしたasn.tclファイルを探していて、convertfrom asciiを使用していました。 このコマンドを実行すると、ASCIIエンコーディングで失敗します(utf-8で動作します)。 誰でもasciiでそれを使用する方法を知っていますか?Tcl - encoding convertfrom ascii

ありがとうございました。

+0

ASCIIはUTF-8のサブセットです。 ASCIIのすべての文字とUTF-8の同じ文字を比較すると文字通りゼロ差があります。違いは、拡張ASCIIの形になりますが、拡張ASCIIはASCIIと呼ばれることはありません。 Windows-1252、Latin-1などがあります。UTF-8のように、ASCII – slebetman

答えて

2

ASN.1は通常、get goからのバイナリデータとして最もよく扱われ、その中に含まれる文字列のエンコーディングは、それらの文字列のキーが定義しなければならないものになります。どのエンコーディングを使用するかわからないフォールバックのケースでは、エンコーディング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を理解する必要があると思います。

+0

のスーパーセットのように、私はiso8859-1を使用していました。 – itayb