質問

Lyris ListManager(10.2)でカスタマイズを作成しようとしています。言語はTCLであり、私はほとんど知りません。値をbase64としてエンコードする必要があります(または実際には、クエリストリングパラメーターを難読化するものはすべて)が、その方法を理解できないようです。これを行うためのTCL原産のコマンドはありますか?

役に立ちましたか?

解決

Base64パッケージを使用するために問題に従ってください。これらの小さなProcsを使用して、データを六角形に変換して戻ることができます。 tcl> 8が必要です

proc BIN2HEX { text }   { binary scan $text H* result; return $result }
proc HEX2BIN { hex }    { return [binary format H* $hex] }
set hex [BIN2HEX $yourText]
set textAgain [HEX2BIN $hex]

本当にbase64が必要な場合は、tcllibディストリビューションからbase64ファイル全体をコピー/貼り付けることができます http://sourceforge.net/projects/tcllib/files/tcllib/1.11.1/ コードに(「パッケージが提供する」行を削除します)

他のヒント

の存在 http://tcllib.sourceforge.net/doc/base64.html ネイティブ機能がないことを示しているようです。ソースをコピーして、変更に追加できます。

% base64::encode "Hello, world"
SGVsbG8sIHdvcmxk

% base64::encode [string repeat xyz 20]
eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6
eHl6eHl6eHl6
% base64::encode -wrapchar "" [string repeat xyz 20]
eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6

# NOTE: base64 encodes BINARY strings.
% set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"]
% set encoded [base64::encode $chemical]
Q+KCiEjigoHigoBO4oKET+KCgg==
% set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]]

TCLライブラリ(パッケージ/モジュール)を環境にロードする機能がある場合は、 tcllib 実装。それが、Vinko Vrsalovicが彼の応答からコマンドを示していたことです。

% package require base64
2.4
% base64::encode bob
Ym9i

それが16進数でエンコードするだけで十分であれば、あなたは バイナリ 次のようにコマンド:

% set query "Hello, world"
Hello, world
% binary scan $query H* hexquery
1
% puts $hexquery
48656c6c6f2c20776f726c64
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top