HTML karakter kodu 8203 nedir?


128

Karakter kodu (HTML) ​nedir? Bunu jQuery betiklerimden birinde buldum ve ne olduğunu merak ettim ..

Teşekkürler.

Düzenle:

İşte içinde bulunduğu betik (sonuna eklendi, Firebug'da bulundu)

<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
Burada bana yardımcı olan bir makale buldum: js sıfır genişlikli boşluk Unicode 8203'ü dizeden kaldırır
Yuchi

2
İlginç. Bir dolandırıcılık e-postasında imgur URL'sini gizlemek için kullanıldığını buldum: ii & # 8203; m & # 8203; g & # 8203; u & # 8203; r & # 8203;.…
Lambart

MDN kılavuzunda kullanılır… Örneğin, javascript nesne adını H1 başlığından kopyalamak istiyorsanız ( geliştirici.mozilla.org/ en-US/docs/Web/API/NodeFilter gibi ) bu karakter "NodeFilter" dizesinde küçük " e "ve" F "… bu yüzden betiğinizde başarısız olur. Mozilla'nın bunu neden kullandığını bilmiyorum ... belki de bizden nefret ediyor: D
iiic

Yanıtlar:


158

Bu Unicode Karakteri 'SIFIR GENİŞLİK UZAYI'dır (U + 200B) .

bu karakter satır sonu kontrolü için tasarlanmıştır; genişliği yoktur, ancak iki karakter arasındaki varlığı, yaslamada artan harf aralığını engellemez

Verilen kod örneğine göre, varlık bu bağlamda tamamen gereksizdir. Büyük olasılıkla beyaz boşluk veya vurgulama ile akıllı şeyler yapmaya çalışan bir hatalı düzenleyici ya da bu karakterin doğal olarak kullanıldığı bir klavye dili kullanan bir son kullanıcı tarafından, örneğin Arapça gibi bir kaza sonucu yerleştirilmelidir.


3
Teşekkürler. JQuery'ime gelmesi garip.
Kyle

1
@Kyle Bu karakteri CSS dosyalarımda buldum ve tarayıcıların CSS'mi düzgün bir şekilde ayrıştırmaması için onları kırma eğiliminde. Bu yüzden betik dosyalarında sorun yaratırsa şaşırmam.
AaronLS

1
"Bir kazayla yerleştirilmelidir" - bayt sırası işareti olarak da bilinir.
Jonathan Dickinson

8
@Jonathan: Kesinlikle bir bayt sırası işareti değil .
BalusC

3
@Jonathan: Hayır, ürün reçetesi olarak değil. Ürün reçetesinin görsel (yanlış) temsili olarak.
BalusC

22

Editörünüzde bu görünmez karakterleri aramak ve görünür kılmak istiyorsanız, ascii olmayan karakterleri arayan bir Normal İfade kullanabilirsiniz. Aramayı deneyin [^\x00-\x7F]. IntelliJ IDEA'da test edilmiştir.


2
Sadece teşekkür etmek için yorum yapmamalıyız - ama bu çok değerliydi. diğer insanların ilginç sistemlerden metinleri temizlemeye çalışırken aradıkları çözümün bu olduğunu bilmeleri gerekir. ilginç derken, Microsoft 360 ücretsiz web sitesi çöpü demek istiyorum! Uzun yıllara dayanan deneyime sahip normal ifadelerde çok iyiyim, ancak nasıl hedefleyeceğinizi bilmediğiniz bir şeyle karşılaştığınızda gerçekten önemli değil. (i ile çalışan çalıştı get_html_translation_table(HTML_ENTITIES)ve ord()bu nihayet bana ben ileriye taşımak için gerekli kolu verdi ama yine kazanamadı!) TEŞEKKÜR EDERİM!!!
aequalsb

Daha fazla açıklama stackoverflow.com/questions/9868796/… adresinde bulunabilir . Yardımcı olmanıza sevindim @aequalsb
Micros

3
VSCode'un aramasıyla da çalışır; "Normal ifade aramasını kullan" geçişini kullandığınızdan emin olun.
James Perih

7

Buraya aynı sorunla geldim, sonra kendi başıma çözdüm. Bu tuhaf karakter HTML'mde görünüyordu.

Sorun büyük olasılıkla kod düzenleyicinizdir. Espresso kullanıyorum ve bazen bunun gibi sorunlarla karşılaşıyorum.

Düzeltmek için, etkilenen kodu vurgulayın, ardından menüye gidin ve "sayısal varlıklara dönüştür" ü tıklayın. Bu karakterin sayısal değerinin göründüğünü göreceksiniz; basitçe silin ve sonsuza kadar kaybolur.


Sanırım bu işlevselliği Aptana / Eclipse'e eklemem gerekiyor. Teşekkürler!
Kyle

3

ZERO WIDTH SPACE.

Bunu "boş" tablo hücreleri için içerik olarak kullandım. <script>Yine de bir etiketin içinde ne yaptığı hakkında hiçbir fikrim yok .


3

.Before () ve .after () gibi DOM işleme işlevlerini kullanarak öğeler eklemek için jQuery kullandığınızda SIFIR GENİŞLİK ALANI karakteri eklenir.

Belgemin sonuna gizli kalıcı iletişim çerçeveleri eklerken ve ardından SIFIR GENİŞLİK ALANININ, düzeni aşağıya indirdiğini ve istenmeyen alan eklediğini bulduğumda bununla karşılaştım.

Hızlı çözüm, onu altbilginin arkasına değil önüne eklemekti. Zaten gizli.

JQuery'de bunu yapan hiçbir şey bulamıyorum:

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

Yani onu ekleyen tarayıcı olabilir.


2

Bu karakterleri istemediğim senaryolarda gösteriyorum. HTML / CSS görsel biçimlendirmemi bozduğu için fark ettim: yeni bir metin kutusu oluşturuyor.

Eminim bir hatalı düzenleyici onları ekliyor ... Benim durumumda, Mac için Komodo Edit'ten şüpheleniyorum.


Şüpheliyim. .html()SP 2013'te bir metin kutusunu temsil eden bir div'e baktığımda bilgisayarımda IE'de görünüyor . Bunun, verileri görüntüleyen web uygulamasının davranışından kaynaklandığına inanıyorum. Benim durumumda uzunluk 1, benim için 0 olması gerekirken bu karakterden kaynaklanıyordu.
vapcguy

2

Bunları bir kaynakta görüyorsanız, bilgi sızdıran kişiyi ortaya çıkarmak için metin belgelerini parmak izi almaya çalışan birinin olabileceğini unutmayın. Aynı görünen bilgiyi bayt bayt seviyesinde farklı hale getirerek bir istenmeyen posta filtresini atlama girişimi de olabilir.

Bkz makalemi Daha fazla bilgi edinmek ilgilenen eğer parmak izi hafifletici üzerinde.


0

Karakter kümesini html dosyasının başındaki UTF-8 olarak ayarlayana kadar bazı garip karakterler (â € ‹) görüntülüyordu

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

veya HTML5 için:

<meta charset="UTF-8">

Şimdi şeffaf ama denetçiyi kullandığımda html'de hala görünüyor.

Sayfadan tüm komut dosyalarını kaldırmak da onu kaldırmadı.

Chrome ve IE için test ettim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.