問題タブ [zalgo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - Zalgo テキストはどのように機能しますか?
以下のような Zalgo と呼ばれる奇妙にフォーマットされたテキストがさまざまなフォーラムで書かれているのを見てきました。見るのは少し面倒ですが、キャラクターがどうあるべきかという私の考えを損なうので、本当に気になります. 私の理解では、キャラクターは線を横切って水平に移動し、特定の「コンテナー」内にとどまるはずです。明らかに、Zalgo のテキストは垂直方向に移動しており、スペースに制限されているようには見えません。
これは Unicode のバグ/欠陥/エクスプロイト/ハックですか? これらの個々のキャラクターは奇妙な特性を持っていますか? "ここで何が起きてるの?
h̡̡̫̤̤̣͉̤̫̤̤̣͉̤ͭ̓̓ͭ̓̓w͓̲͙͖̥͉̹͋ͬ̊ͦ̂̀̚ ͎͉͖̌ͯͅͅ ͎͉͖̌ͯͅͅ ͎͉͖̌ͯͅͅe
unicode - これらのタイ語の文字が Web ページに長い尾を持って表示されるのはなぜですか?
ด้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้
上に貼り付けたのと同じように、スペースが3つしかない興味深い文字を見つけました。ただし、文字列の実際の長さは 380 です。
Python で文字列を調べたところ、文字列のエンコードは次のようになりました。
'\xe0\xb8\x94\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89 \xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0 \xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9 \x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87 \xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xd0\xb4\xe0\xb8\x94\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89 \xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0 \xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9 \x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87 \xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89'
文字列は 3 つのタイ文字の組み合わせのようです。
そして私の質問は次のとおりです。
- なぜこれらのキャラクターの振る舞いがこれほど異なるのか、それはバグなのですか?
- サイトでそれを回避するにはどうすればよいですか (おそらくいくつかの html フィルターを使用して)?
アップデート
より多くのブラウザーでキャラクターをテストしましたが、ロングテールは、Windows プラットフォームの chrome と firefox でのみ表示されます。
以下は私が撮ったスクリーンショットです:
勝つ 7 ie8
Ubuntu ファイアフォックス
勝つ 7 クローム
win7 ファイアフォックス
したがって、ブラウザ関連のバグだと思います。
c# - C#でZalgoテキストをレンダリングする方法
GDI +のDrawStringは、Unicodeの上付き文字や下付き文字をレンダリングできないようです。それはそれらを正方形として表示し、スタックしません。
DrawStringを使用して描画
TextRendererを使用して描画
Firefoxによって描画されます
FireFoxはどのようにしてこれを適切に描画できましたか?
私が使用しているデータ-http://pastebin.com/p5Cp3qUM
unicode - これらのUnicode結合文字はどうなっているのでしょうか。また、どのようにフィルタリングできますか。
กิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้ก็้้้้้้้้้้้้้้้้้้ก็็็็็็็็็็็็็็็็็็็็ก็็็็็็็็็็็็็็็็็็็็กิิิิิิิิิิิิิิิิิิิิก้้ก็็็็็็็็็็็็็็็็็็็็ก้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้กิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ก็กิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิ
これらは最近Facebookのコメントセクションに表示されました。
どうすればこれを消毒できますか?
c# - Zalgo テキストなどの発音区別記号から保護する方法
上の写真の人物は、コンピュータ ウイルスに関する研究やコンピュータ セキュリティに関するTED トークで知られるコンピュータ セキュリティの専門家であるMikko Hyppönenによって数か月前にツイートされました。SOに関しては、その画像のみを投稿しますが、あなたはそのアイデアを理解しています. 明らかに、Web サイト全体に広めて訪問者をびっくりさせたいものではありません。
さらに調べてみると、この文字は 87 を超える発音区別記号 (制限はありますか?!) を組み合わせたタイのアルファベットの文字のように見えます。これにより、セキュリティ、ローカリゼーション、およびこの種の入力を処理する方法について考えるようになりました。私の検索では、Stack に関するこの質問にたどり着きました。次に、Michael Kaplan のブログ投稿 on stripping diacriticsにたどり着きました。その中で、彼は文字列をその「基本」文字に分解する方法を示しています (ここでは簡潔にするために簡略化しています)。
場合によってはこれがどのように役立つかはわかりますが、ユーザー入力に関しては、すべての分音記号を取り除くことになります。カプランが指摘するように、一部の言語では分音符号を削除すると、単語の意味が完全に変わる可能性があります。これは疑問を投げかけます:ユーザーの入力/出力で一部の分音符号を許可し、ミッコ・ヒッポーネンのユーバー文字などの他の極端なケースを除外するにはどうすればよいでしょうか?
php - 文字列に zalgo テキストが含まれているかどうかを確認するには?
私は現在、自分のウェブページに zalgo テキストで「スパム」されており、zalgo が含まれているかどうかを確認する機能が必要です。
私はこのコードを見つけました:
ただし、一部の合法的な投稿もブロックします。より良い方法はありますか?
ありがとう
html - それらのキャラクターはどのようにしてこの効果を生み出すことができますか?
Facebook でステータスの更新をいくつか見たところ、次のような効果がありました。
ユニコードには、1行だけを使用するよりも拡張された効果がありますか?
誰かがなぜこれが起こっているのか説明してもらえますか? 私がインターネット(html、ユニコード)から知っていることから、これに対する説明が見つかりませんでした。
注意: ここにコピーすると、ここでも機能するので、Facebook の問題ではありません!
python でも、彼はそれらを知りません。
それらを調べるための char のスイートを次に示します (これは HTML の問題ですか?)。
ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้</p>
unicode - おかしくて奇妙な (Unicode) 文字は 1 行以上かかります
ソーシャル メディアで 1 行以上の「面白い」文字 (例: ḓ̵̙͎̖̯̞̜̞̪̠ と •̩̩̩̩̩̩̩̩̩̩) を見つけました。まずFirefoxのバグだと思います。GeditとLibreOffice Writerでこれを試しましたが、すべて同じです。それで、これは実際には何ですか?実際、文字のエンコードとレンダリングについて質問しています。
GNOME Character Map でキャラクターを見つけようとしましたが、見つかりませんでした。
両方の文字コードをUnicode(おそらくUTF-8)で確認してみました。複数の文字を使用しているようです。1つのキャラクターが複数のキャラクターである理由は何ですか? これは Python を使用した結果です。
キャラクターḓ̵̙͎̖̯̞̜̞̪̠</p>
キャラクター •̩̩̩̩̩̩̩̩̩̩</p>
html - さまざまな高さ/位置でこれらの愚かな html 文字を生成する方法は?
参考までに画像をご覧ください。
それらをどのように作成するのだろうか?彼らは何と呼ばれている?そして、一体なぜそれが可能なのでしょうか?