最初にこれを邪魔にならないようにするために..私はすでにutf-8エンコーディングでeggdropを再コンパイルしました。エスケープシーケンスをstrings()で記述すると、utf-8文字をエコーアウトできます\u00a7
が、何らかの理由でまだ理解できません。正規表現を使用して、対応する文字と比較することはできません。
tclでコーディングされたeggdropに基づくロギングスクリプトを開発しようとしています。私はすでに数時間を研究以外の何もしていませんが、そこに助けがないか、間違った場所を探しています。
入力文字列§は、ボットがオンになっているircチャネルでユーザーが入力します。Linux側のロギングスクリプトは、この文字を特殊制御文字(I -think-)として解釈し、geditで、外観が「FFA7」のように見える2行の特殊文字としてレンダリングし、最初の行にFFがあります。 2番目のA7は、すべてボックスで囲まれています。
私の正規表現は非常に単純です:
regexp -all {\u00a7} $text
もちろん私も試しました:
regexp -all {\247} $text
残念ながら、すでに述べたように..それは動作しません。毎回0を取得します。つまり、文字と一致することはありません。
私が行ったすべての調査では、eggdropが文字列をtclスクリプトに送信している形式を把握できませんでした。唯一の作業は、そのボックスのような文字をgeditからスクリプトに直接コピーすることです。しかし、この文字を複製できないとすると、コーディングがかなり不可能になります。
質問に対して..ボットから送信された文字列を解釈して、その中の特殊文字をhtmlエンティティに正しく変換できる正しい方法があるかどうか、ここで何が間違っているのか疑問に思っています。