BilgisayarlarProgramlama

UTF-8 - karakter kodlama

Unicode hemen hemen tüm mevcut karakter setlerini destekler. Unicode karakter kümesi kodlama en iyi formu UTF-8 kodlama. Bu veriler, verimlilik ve işleme kolaylığı çarpılmasına ASCII ile uyumluluk, direnç destekler. Önce Ama her şey.

kodlama formu

bayt ve 32-bit kelime - Bilgisayar soyut matematiksel nesneleri ve aynı zamanda depolama birimlerinin kombinasyonlarının ve taşıma sabit boyutlu verileri değil, sadece numaralar yapmaktadır. sunmak nasıl belirlerken Kodlama standart göz önüne almalıdır karakter sayısını.

Bilgisayar sistemlerinde, tamsayılardır 8 bit (1 bayt), 16 ya da 32 bit bellek hücrelerinde kayıtlı. Her form bellek hücrelerinin dizisi belirli bir sembole karşılık gelen bir tam sayı olduğu bir Unicode kodlaması, tanımlar. standardında Unicode karakterleri 8, 16 ve 32-bit blok kodlama üç farklı formları vardır. Buna uygun olarak, UTF-8, UTF-16 ve UTF-32 olarak da bilinir. Adı UTF Unicode Transformation Format kısaltmasıdır. kodlayan aracının üç şekillerinin her biri eşit bir şekilde temsil Unicode karakter çeşitli uygulamalarda avantajları olan.

Veri şifreleme Unicode standardında tüm karakterleri temsil etmek için kullanılabilir. Bu nedenle bunlar, çeşitli nedenlerle çözümler tamamen uyumlu olan kodlama çeşitli formlar kullanılarak. Her bir kodlama açıkça veri kaybı olmadan diğer iki herhangi birine dönüştürülebilir.

nenalozheniya ilkesi

formları Unicode kodlama her olmayan kısmi örtüşme göre tasarlanmıştır. Örneğin, Windows 932 kodunun bir ya da iki bayt karakter oluşturur. dizi uzunluğu ilk baytı üzerine bağlıdır, bu yüzden, iki bayt ve tek baytlık ayrık serisinin ilk baytı değerleri. Bununla birlikte, tek bir bayt değeri ve arka bayt dizisi çakışabilir. Bu karakter arama D (kod 44) yanlışlıkla iki bayt karakter "D" dizisinin ikinci bölümü içine giren (kodu 84 44) bulabilmesi örneğin anlamına gelir. Doğru olan dizisi öğrenmek için programın önceki bayt dikkate almalıdır.

durum eğer Baştaki ve sondaki bayt maç, karmaşıktır. Bu belirsizlik çıkarmak için metin veya benzersiz kod dizisinin başlangıcını ulaşmadan önce geriye doğru arama olacağı anlamına gelir. Bu sadece verimsiz olmakla birlikte, tam metne sadece bir yanlış bayt okunamaz hale gelmiştir, çünkü olası hatalardan korunmuyor.

önde gelen, Römorkun değeri ve depolama tek bir birim aynı bilgi olmadığı için Biçim dönüştürme Unicode bu problemi önler. Bu asla nedeniyle karakter kodunun farklı bölümlerinin tesadüf hatalı sonuç verir arama ve karşılaştırma için tüm Unicode sağlar. kodlama bu formları prensibi nenalozheniya gözlemlemek olması, diğer Doğu Asya çok baytlı kodlamanın onları ayırır.

nonintersection diğer yönü Unicode kodlama her karakter açık bir şekilde tanımlanmış sınırı olmasıdır. Bu, bir önceki sembollerin belirsiz sayıda tarama ihtiyacını ortadan kaldırır. Bu özellik bazen kendi kendine masa saati kodlama denir. kod birimlerinin Bozulma yalnızca bir karakter bozulması yaratması ve çevredeki karakterler hala sağlam. 8-bit biçiminde çevrilmesinde, bayt (ikili kod olarak) 10xxxxxx başlayarak işaretçi noktaları sembol başlangıcı, bir ila üç ters geçişler için gereklidir bulmak için eğer.

tutarlılık

Unicode Konsorsiyumu tamamen kodlamaların 3 formlarını destekler. Unicode karakter kodlama standardı düzenlemesinin aynı derecede geçerli formları - Bütün dönüşüm biçimleri olarak UTF-8 ve Unicode karşı önemlidir.

Bayt-yönlendirme

Unicode kodu ile 32 bit kod birimi, gerekir UTF-32 karakterleri temsil etmek. UTF-16 - iki 16 bit birimlerine biri. Bir UTF-8 4 bayt kullanır.

UTF-8 kodlaması byte odaklı ASCII tabanlı sistemleri ile uyumlu olacak şekilde tasarlanmıştır. Uzun süre mevcut yazılım ve bilgi teknolojileri uygulamalarına çoğu bayt dizisindeki karakterlerin temsil dayanıyordu. Çoklu protokoller sabitliği bağlıdır ASCII kodlama ve kullanır ya özel kontrol karakterleri önler. Basit bir yolu Unicode karakterleri, herhangi eşdeğer bir ASCII karakter veya bir kontrol karakteri temsil etmek için 8 bitlik kodlama kullanılarak, durumlara Unicode can uyum. Bu amaçla, ve UTF-8 kodlama.

değişken uzunluk

UTF-8 -, değişken uzunlukta kodlama, 8-bit bellek birimlerinden oluşan, üst bit olan, her bir bayt dizisinin hangi kısmı ait göstermektedir. kod sırasının birinci elemanına tahsis edilen değerlerden biri aralığı, bir - Sonraki için. Bu ayrık kodlama sağlar.

ASCII

UTF-8 kodlama tam olarak desteklenir ASCII kodları (0x00-0x7F). Bu Unicode karakterleri U +, 0000-U +, 007F tek bayt 0x00-0x7F UTF-8 dönüştürülebilir ve böylece ASCII ayırt edilemeyecek olduğu anlamına gelir. Ayrıca, karışıklığı önlemek için, değer Unicode karakterleri tek baytlı temsilde artık kullanılmayan 0x00-0x7F. semboller, iki baytlık bir dizi kullanılarak, ASCII dışında neideograficheskih kodlamak için. Semboller U +, 0800-U + FFFF üç bayt ile temsil edilmektedir değişir ve U +, FFFF fazla ek kodları dört bayt gerektirir.

uygulama alanı

UTF-8 kodlaması genellikle HTML protokolünde öncelik verilir ve benzeri edilir.

XML UTF-8 kodlama için tam destek ile ilk standart haline gelmiştir. Standartlar kuruluşlar da bunu tavsiye. konsorsiyum W3C ve IETF mühendislik grubunun tüm kodlama konusunda bir anlaşmaya geldiğinde ASCII karakterlerden farklı URL adresinde Destek sorun çözüldü URL adreslerine münhasıran UTF-8.

ASCII ile uyumluluk yeni yazılım geçişi kolaylaştırır. UTF-8 JEdit, Emacs, BBEdit, Eclipse ve Windows işletim sistemi "Not Defteri" dahil olmak üzere en metin editörleri, işler bulunmaktadır. Kodlama Unicode Bunun dışında bir aletin böyle bir desteğin sahiptir olamaz.

avantajı kodlayan bu bayt bir dizi oluşur olmasıdır. UTF-8 dize ile C ve diğer programlama dillerinde çalışmak kolaydır. Bu kodlama tek şeklidir, etiket gerektirmez sipariş BOM veya XML bir kodlama bildirimi bayt.

Kendi kendine senkronizasyon

diğer çoklu bayt karakter setleri ile karşılaştırıldığında işleme 8 bitlik semboller kullanan bir ortamda, UTF-8 aşağıdaki avantajları vardır:

  • İlk bayt kod dizisi uzunluğu ile ilgili bilgileri içerir. Bu doğrudan arama verimliliğini arttırır.
  • başlangıç bayt değerleri sabit bir aralıkta ile sınırlıdır olarak sembol başında bulma Basitleştirilmiş.
  • Hiçbir kesişim bayt değerleri.

faydaları karşılaştırın

UTF-8 kodlama kompakttır. Doğu Asya karakter kodlaması için kullanılır Fakat (Çince, Japonca, Korece, işaretler kullanılarak Çinli yazı) 3-bayt dizileri kullanılır. Ayrıca UTF-8 kodlama işlem hızını kodlama diğer formları için düşüktür. Bir ikili ayırma çizgileri Unicode sıralama ikili olarak aynı sonucu verir.

karakter kodlama şeması

karakter kodlama şeması kodlama sembolleri form ve tek baytlık yer kod birimi için bir yöntem ihtiva eder. Unicode standardı bir ilk bayt sırası işareti (BOM, bayt sırası işareti) kullanımını sağlamaktadır kodlama şeması belirlemek.

UTF-8 özellik etiketinde BOM kodlama biçimlerinin kullanımına yalnızca referans ile sınırlıdır zaman. Kodlama birimi boyutu bir bayt olarak endian UTF-8 belirlenmesinde sorunlar vardır. kodlama bu form için BOM kullanarak gerekli ne de tavsiye edilir de. BOM UTF-8 kodlama için bayt sırası işareti veya imza kullanan diğer codings gelen dönüştürülecek metinde ortaya çıkabilir. EF BB 16 16 BF 16 3 baytlık bir dizisidir.

UTF-8 kodlamasını nasıl ayarlanır

kodlama HTML UTF-8 aşağıdaki kodla yüklenir:

kafa

META http-equiv = "Content-Type" content = "text / html; charset = utf-8" ˃

PHP UTF-8 kodlaması çıkış seviyesi değeri hatasını ayarladıktan sonra dosyanın başında başlığı () fonksiyonu kullanılarak ayarlanır:

˂? Php

error_reporting (1);

başlığı ( "Content-Type: text / html; charset = utf-8 ');

UTF-8 kodlaması ayarlanmış MySQL veritabanına bağlanmak için:

˂? Php

mysql_set_charset ( 'UTF-8');

CSS dosyası kodlama aşağıdaki gibi UTF-8 karakter belirtilen geçerli:

@charset "UTF-8";

Eğer her türlü dosyaları BOM olmadan UTF-8 kodlaması tercih kaydettiğinizde şekilde sitede çalışmaz. UTF-8'e kodlamasını değiştirmek için Dreamweave bunu yapmak için menü öğesi "Başlık / Kodlama - - Sayfa özellikleri Değişiklikler" seçmeniz gerekir. sayfayı yeniden Ardından, "Bağlan Unicode imza (BOM)» onay işaretini kaldırın ve değişiklikleri uygulamak. Bir sayfadaki veya bir veritabanında herhangi bir metin kodlama başka bir form tanıtıldı ise, yeniden girmek veya yeniden kodlamak için gereklidir. Normal ifadeler konusunda çalışırken, Değiştirici u kullanmaya dikkat edin.

Ayrıca Windows'un "Not Defteri" UTF-8 kodlamasında kaydedebilirsiniz. menü öğesi seçildikten sonra "Dosya - Farklı Kaydet ..." kodlama gerekli formu yükleyip UTF-8 dosyayı kaydedin.

menü öğesi aracılığıyla, UTF-8 dışında ayarlarsanız bir metin editörü Notepad ++, içinde "BOM olmadan UTF-8'e dönüştürün» karakterini değiştirmek ve UTF-8 kaydedin.

başka alternatif yok

politik ve dilsel sınırları silinir küreselleşme bağlamında, yerel özelliklere sahip karakter setleri, az kullanılmaktadır. Unicode tüm lokalizasyonu destekler tek bir karakter kümesidir. Bir UTF-8 - olan Unicode düzgün bir şekilde uygulanması, bir örnek:

  • ASCII kodlama ile uyumluluk dahil araçları, geniş bir yelpazede destekler;
  • Bu bozulma verileri dayanıklıdır;
  • Basit ve tedavisinde de etkilidir;
  • platform bağımsızdır.

iyidir kodlama veya karakter kümesinin ne şekilde yaklaşık UTF-8 tartışmanın çıkmasıyla birlikte artık anlamsız hale gelir.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.birmiss.com. Theme powered by WordPress.