Apa kode karakter HTML 8203?

127

Apa kode karakter (HTML) ​? Saya menemukannya di salah satu skrip jQuery saya dan bertanya-tanya apa itu ..

Terima kasih.

Edit:

Ini skrip yang ada di dalamnya (ditambahkan di bagian akhir, ditemukan di 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>
Kyle
sumber
1
Saya menemukan sebuah artikel di sini yang membantu saya: js menghapus ruang lebar nol Unicode 8203 dari string
Yuchi
2
Menarik. Saya baru saja menemukan itu digunakan untuk mengaburkan URL imgur dalam email penipuan: ii & # 8203; m & # 8203; g & # 8203; u & # 8203; r & # 8203;. ...
Lambart
Ini digunakan pada MDN manual ... Misalnya jika Anda ingin menyalin nama objek javascript dari judul H1 (seperti developer.mozilla.org/en-US/docs/Web/API/NodeFilter ) karakter ini dalam "NodeFilter" string between small " e "dan" F "... jadi itu akan gagal dalam skrip Anda. Saya tidak tahu mengapa Mozilla menggunakannya ... mungkin hanya dia membenci kami: D
iiic

Jawaban:

158

Ini adalah Karakter Unicode 'ZERO WIDTH SPACE' (U + 200B) .

karakter ini dimaksudkan untuk kontrol pemecah baris; tidak memiliki lebar, tetapi keberadaannya di antara dua karakter tidak mencegah peningkatan spasi huruf pada justifikasi

Sesuai sampel kode yang diberikan, entitas sepenuhnya berlebihan dalam konteks ini. Itu harus disisipkan oleh beberapa kecelakaan, kemungkinan besar oleh editor kereta mencoba melakukan hal-hal cerdas dengan spasi atau penyorotan, atau pengguna akhir menggunakan bahasa keyboard di mana karakter ini secara asli digunakan, seperti bahasa Arab.

BalusC
sumber
3
Terima kasih. Aneh bagaimana itu berakhir di jQuery saya.
Kyle
1
@Kyle Saya telah menemukan karakter ini di file CSS saya dan cenderung memecahnya sehingga browser tidak mem-parsing CSS saya dengan benar. Jadi saya tidak akan terkejut jika itu dapat menyebabkan masalah dalam file skrip.
AaronLS
1
"Itu harus dimasukkan oleh beberapa kecelakaan" - itu juga dikenal sebagai tanda urutan byte.
Jonathan Dickinson
8
@ Jonathan: Ini pasti bukan tanda urutan byte .
BalusC
3
@ Jonathan: Tidak, bukan sebagai BOM. Sebagai representasi (mis) visual dari BOM.
BalusC
22

Jika Anda ingin mencari karakter yang tidak terlihat ini di editor Anda dan membuatnya terlihat, Anda dapat menggunakan Ekspresi Reguler mencari karakter non-ascii. Coba cari [^\x00-\x7F]. Diuji dalam IntelliJ IDEA.

Mikros
sumber
2
kami tidak seharusnya berkomentar hanya untuk mengucapkan terima kasih - tetapi ini sangat berharga. orang lain perlu tahu ini adalah solusi yang mereka cari ketika mencoba membersihkan teks dari sistem yang unik. ketika saya mengatakan unik saya maksud Microsoft 360 situs web gratis sampah! Saya sangat baik dengan ekspresi reguler yang memiliki pengalaman bertahun-tahun, tetapi itu tidak terlalu penting ketika Anda menemukan sesuatu yang Anda tidak tahu bagaimana menargetkan. (Saya mencoba bekerja dengan get_html_translation_table(HTML_ENTITIES)dan ord()tetapi masih tidak bisa menang) ini akhirnya memberi saya pegangan yang saya butuhkan untuk bergerak maju! TERIMA KASIH!!!
aequalsb
Beberapa penjelasan lebih lanjut dapat ditemukan di stackoverflow.com/questions/9868796/… . Senang itu membantu Anda @aequalsb
Micros
3
Bekerja juga dengan pencarian VSCode; pastikan untuk menggunakan toggle "Gunakan pencarian regex".
James Perih
7

Saya mendarat di sini dengan masalah yang sama, lalu mencari tahu sendiri. Karakter aneh ini muncul dengan HTML saya.

Masalahnya kemungkinan besar adalah editor kode Anda. Saya menggunakan Espresso dan terkadang mengalami masalah seperti ini.

Untuk memperbaikinya, cukup sorot kode yang terpengaruh, lalu buka menu dan klik "konversi ke entitas numerik". Anda akan melihat nilai numerik dari karakter ini muncul; hapus saja dan hilang selamanya.

WarrenBee
sumber
Saya pikir saya perlu menambahkan fungsi itu ke dalam Aptana / Eclipse. Terima kasih!
Kyle
3

ZERO WIDTH SPACE.

Saya telah menggunakannya sebagai konten untuk sel tabel "kosong". Tidak tahu apa yang dilakukannya di <script>tag.

dan04
sumber
3

Karakter ZERO WIDTH SPACE dimasukkan ketika Anda menggunakan jQuery untuk menambahkan elemen menggunakan fungsi manipulasi DOM seperti .before () dan .after ()

Saya telah mengalami ini ketika menambahkan frame dialog modal tersembunyi di akhir dokumen saya dan kemudian menemukan bahwa ZERO WIDTH SPACE mengacaukan tata letak di sana, menambahkan ruang yang tidak diinginkan.

Perbaikan cepat adalah memasukkannya sebelum footer, bukan setelahnya. Tersembunyi pula.

Saya tidak dapat menemukan apa pun di jQuery yang melakukan ini:

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

Jadi mungkin browser yang menambahkannya.

Chris Sattinger
sumber
2

Saya memiliki karakter ini muncul di skrip di mana saya tidak menginginkannya. Saya perhatikan karena itu merusak format visual HTML / CSS saya: itu membuat kotak teks baru.

Cukup yakin editor kereta menambahkan mereka ... Saya curiga Komodo Edit untuk Mac, dalam kasus saya.

JAL
sumber
Aku meragukan itu. Ditampilkan di IE pada PC saya ketika saya melihat .html()div yang mewakili kotak teks di SP 2013. Saya percaya ini disebabkan oleh perilaku aplikasi web yang menampilkan data. Dalam kasus saya, panjangnya adalah 1, untuk saya, padahal seharusnya 0. Karena karakter ini.
vapcguy
2

Jika Anda melihatnya di sumber, ketahuilah bahwa seseorang mungkin mencoba sidik jari dokumen teks untuk mengungkapkan siapa yang membocorkan informasi. Ini juga mungkin merupakan upaya untuk mem-bypass filter spam dengan membuat informasi yang tampak sama pada tingkat byte-demi-byte.

Lihat artikel saya tentang mengurangi sidik jari jika Anda tertarik mempelajari lebih lanjut.

zachaysan
sumber
0

Itu menampilkan beberapa karakter aneh (â € ‹) sampai saya mengatur charset ke UTF-8 di kepala file html

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

atau untuk HTML5:

<meta charset="UTF-8">

Sekarang transparan tetapi masih terlihat di html ketika saya menggunakan inspektur.

Menghapus semua skrip dari halaman juga tidak menghapusnya.

Saya mengujinya untuk chrome dan IE.

Amr
sumber