HTML文字コード8203とは何ですか?


127

文字コード(HTML)とは​?私はjQueryスクリプトの1つでそれを見つけ、それが何であるか疑問に思いました。

ありがとう。

編集:

ここにスクリプトがありました(最後に追加され、Firebugで見つかりました)

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
var $jnyh = jQuery.noConflict();


$jnyh(function() {
    $jnyh("#title-nyh").click(function() {
      $jnyh(".show-hide-nyh").slideDown("slow");
    }, function() {        
      if(!$jnyh(this).data('pinned'))
        $jnyh(".show-hide-nyh").slideUp("slow");
    });
    $jnyh("#title-nyh").click(function() {
    $jnyh(this).parent().toggleClass("title-btm-brdr");
       $jnyh(this).toggleClass("chev-up-result");
      var pin = $jnyh(this).data('pinned');
      $jnyh(this).data('pinned', !pin);
      if(pin) $jnyh(".show-hide-nyh").slideUp("slow");      
    });
});​&#8203;
</script>

1
私はここで私に役立つ記事を見つけました:jsは文字列からゼロ幅スペースUnicode 8203を削除します
Yuchi

2
面白い。詐欺メールの画像のURLを難読化するために使用したことがわかりました:ii&#8203; m&#8203; g&#8203; u&#8203; u&#8203; r&#8203;。…
Lambart

MDNマニュアルで使用されています…たとえば、H1タイトルからjavascriptオブジェクト名(developer.mozilla.org/en-US/docs/Web/API/NodeFilterなど)をコピーする場合は、「NodeFilter」文字列のこの文字を小さい「 e "と" F "…スクリプトでは失敗します。Mozillaがなぜそれを使用しているのかわかりません…たぶん彼女は私たちを嫌っています:D
iiic

回答:


158

これは、Unicode文字「ZERO WIDTH SPACE」(U + 200B)です。

この文字は改行制御用です。幅はありませんが、2つの文字の間に存在しても、両端揃えの文字間隔の増加を妨げません

指定されたコードサンプルに従って、エンティティはこのコンテキストでは完全に不要です。偶然に挿入される必要があります。おそらく、空白やハイライトでスマートなことをしようとしているバグのあるエディター、またはアラビア語など、この文字がネイティブで使用されているキーボード言語を使用するエンドユーザーです。


3
ありがとう。それが私のjQueryでどのように終わったのか奇妙です。
カイル

1
@カイル私のCSSファイルでこの文字を見つけましたが、ブラウザが私のCSSを適切に解析しないように文字が壊れる傾向があります。したがって、スクリプトファイルで問題が発生する可能性があるとしても、私は驚かないでしょう。
AaronLS 2012年

1
「誤って挿入する必要があります」-バイトオーダーマークとも呼ばれます。
ジョナサンディキンソン

8
@ジョナサン:それは間違いなくバイトオーダーマークではありません。
BalusC、2015

3
@ジョナサン:いいえ、BOMとしてではありません。BOMの視覚的(誤)表現。
BalusC

22

エディターでこれらの非表示の文字を検索して表示する場合は、非ASCII文字の正規表現検索を使用できます。を検索してみてください[^\x00-\x7F]。IntelliJ IDEAでテスト済み。


2
お礼を言うためだけにコメントするわけではありませんが、とても貴重でした。他の人々は、これが風変わりなシステムからテキストを削除しようとするときに探しているソリューションであることを知る必要があります。私が風変わりだと言うとき、私はMicrosoft 360の無料のウェブサイトのゴミを意味します!私は長年の経験を持つ正規表現が得意ですが、対象を特定する方法がわからない何かに遭遇したとき、それは本当に問題ではありません。(私はと協力しようとしたget_html_translation_table(HTML_ENTITIES)し、ord()これは最終的に私が前進するために必要なハンドルを与えたが、まだ勝つことができませんでした)!ありがとうございました!!!
aequalsb 2017

詳細については、stackoverflow.com / questions / 9868796 /…をご覧ください。@aequalsbを助けてくれてうれしい
Micros

3
VSCodeの検索でも機能します。必ず「正規表現検索を使用する」トグルを使用してください。
James Perih

7

私は同じ問題でここに着陸し、それから自分でそれを理解しました。この変な文字が私のHTMLに表示されていました。

問題はおそらくコードエディターにあります。Espressoを使用していて、このような問題が発生することがあります。

修正するには、影響を受けるコードを強調表示して、メニューに移動し、[数値エンティティに変換]をクリックします。この文字の数値が表示されます。削除するだけで永久に消えてしまいます。


その機能をAptana / Eclipseに追加する必要があると思います。ありがとう!
カイル

3

ZERO WIDTH SPACE

「空の」テーブルセルのコンテンツとして使用しました。<script>ただし、タグで何が行われているのかはわかりません。


3

ZERO WIDTH SPACE文字は、jQueryを使用して.before()や.after()などのDOM操作関数を使用して要素を追加するときに挿入されます。

文書の最後に非表示のモーダルダイアログフレームを追加し、ゼロ幅スペースによってレイアウトが下にねじ込まれ、不要なスペースが追加されていることがわかりました。

簡単な修正は、フッターの後にではなく、フッターの前に挿入することでした。とにかくその隠された。

これを行うjQueryには何も見つかりません。

https://github.com/jquery/jquery/blob/master/src/manipulation.js

それを追加するのはブラウザかもしれません。


2

これらのキャラクターをスクリプトに表示させて、望まない場合に使用します。HTML / CSSの視覚的なフォーマットが損なわれていることに気づきました。新しいテキストボックスを作成します。

バグのあるエディターがそれらを追加していることを確認してください...私の場合、私はMac用のKomodo Editを疑っています。


疑わしい。.html()SP 2013でテキストボックスを表すdivのを見て、PCのIEに表示されます。これは、データを表示するWebアプリケーションの動作が原因であると考えています。私の場合、長さは1でしたが、0であるはずでした。これは、この文字によるものでした。
vapcguy 2015年

2

ソースにこれらが表示されている場合は、だれが情報を漏洩しているかを明らかにするためにテキストドキュメントの指紋をとろうとしている人物がいる可能性があることに注意してください。また、同じように見える情報をバイトごとのレベルで異なるものにすることにより、スパムフィルターをバイパスする試みである可能性もあります。

詳細については指紋の軽減に関する私の記事を参照してください


0

HTMLファイルの先頭で文字セットをUTF-8に設定するまで、奇妙な文字(​)が表示されていました

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

またはHTML5の場合:

<meta charset="UTF-8">

これは透明になりましたが、インスペクタを使用するとHTMLに表示されます。

ページからすべてのスクリプトを削除しても、ページは削除されませんでした。

ChromeとIEでテストしました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.