Karakter kodlama pencereleri 1251

Veri taşıyıcıları

Veri, bilginin diyalektik bir bileşenidir. Onlar kayıtlı sinyallerdir. Aynı zamanda, fiziksel kayıt metodu aşağıdakilerden herhangi biri olabilir: fiziksel cisimlerin mekanik hareketi, şekil değişikliklerinin veya yüzey kalitesi parametrelerinin değiştirilmesi, elektriksel, manyetik, optik özelliklerin değişimi, kimyasal bileşim ve (veya) kimyasal bağların niteliği, durum değişikliği elektronik sistem  ve daha fazlası.

Kaynak kodlamasını belirtin, böylece dönüşüm hedefe gerçekleştirilebilir. Aşağıdaki tabloda mevcut tanımlayıcılar gösterilmektedir. kod sayfası. Soru 2 "Ayrılmak daha kolay olmaz mıydı?" Ve bu bir varsayılan olmadığından, kaç tane barındırma şirketi varsayılan standardı Brezilya standardına getirmekte zorlanıyor? Kaç tane programcı, veritabanlarını bu şekilde oluşturmaya zorlandılar?

Çevrenin bir parçasını üstlendiğimizde karşımızdaki pozisyon

Genel olarak, kendimizi çevremizin “kurbanları” olarak konumlandırırız: çevre bir gerçek olarak ve parçası olmadığımız kararların yönlendirdiği bir şey olarak. Bu “küçük değişime” uymaya karar verirsek, kendimize sormamız gereken sorular tamamen değiştirilir. Bu cevap, kısmen hangi şablonların yararlı ve gerekli olduğunu hatırlatır; özellikle Brezilya'da, yaşamlarımızda dönüşümler yapmak, verileri düzeltmek, ayarları düzenlemek ve kütüphaneleri uyarlamak için çok zaman harcıyoruz.

Kayıt yöntemine göre, farklı ortam türlerinde veriler depolanabilir ve taşınabilir. En yaygın veri taşıyıcı, en ekonomik olmasa da, kağıt gibi görünmektedir. Kağıda, yüzeyinin optik özellikleri değiştirilerek veriler kaydedilir. Optik özelliklerdeki değişiklikler (belirli bir dalga boyu aralığındaki yüzey yansıma katsayısındaki değişiklikler), yansıtıcı kaplamalı plastik taşıyıcılar üzerine bir lazer ışını ile kayıt yapan cihazlarda da kullanılır ( CD-ROM).   Manyetik bantlarda ve disklerde manyetik özelliklerde bir değişiklik kullanılarak taşıyıcı olarak bahsedilebilir. Yüzey medya maddelerinin kimyasal bileşimini değiştirerek veri kaydı fotoğrafçılıkta yaygın olarak kullanılmaktadır. Biyokimyasal düzeyde, vahşi yaşamda veri birikimi ve iletimi gerçekleşir.

Bilgisayar, bilgisayar ve dijital medya konularına gelince, Portekiz bile “sömürge bir ülke” anlamına geliyor. Portekizce konuşanlar için her zaman dış koşullar empoze edilmiştir. Yavaş yavaş, Avrupa standartlarını ve Portekiz alfabesini ifade etmek için minimum gereklilikler, makine üreticileri tarafından kabul edilen standart bir şekilde kabul edildi. yazılım  ve diğer kaynaklar.

Açıkçası, bu aynı zamanda Brezilyalı analistler ve programcılar için, kurulumlarda, yapılandırmalarda ve özellikle veri alışverişinde “baş ağrısı” dır. "Seçim özgürlüğü" konusunda. Karşılık gelen koordinasyon sorunu olmadığı için “herkes için bir dil” e gerek yoktur. Çok sayıda topluluğun varlığı, aşırı çeşitliliği azaltmak için yeterlidir. Ev sayımızı seçme hakkımız yoktur, caddenin veya bahçenin çerçevesi olan modele uygun olmalıdır. Nümeroloji ya da tat icat edersek, sokakta karışıklık yaratırız ve evde mektup göndermeyi zorlaştırırız. Bu durumda, “bir standart benimseme” nin genel avantajı, çeşitliliğin kişisel yararını aşıyor.

  • Hepsi "standart dillerdir".
  • Bu zevk, bağlam vb. Meselesidir. ve programcı "standardını kabul eder".
  • Bire bir yararları, çeşitliliğin yararlarından daha ağır basmaz.
Standart, koordinasyon ikilemini çözen tek şeydir.

Veri taşıyıcıları bizi kendi başlarına ilgilendirmez, ancak bilgi özelliklerinin taşıyıcılarının özellikleriyle çok yakından ilgili olduğu ölçüde. Herhangi bir ortam parametresi ile tanımlanabilir   karar  (taşıyıcı için benimsenen ölçüm biriminde kaydedilen veri miktarı) ve dinamik aralık (Kaydedilen maksimum ve minimum sinyallerin genliğinin amplitüdünün logaritmik oranı). Bütünlük, kullanılabilirlik ve güvenilirlik gibi bilgilerin özellikleri genellikle taşıyıcının bu özelliklerine bağlıdır. Örneğin, bir kompakt diske yerleştirilmiş bir veritabanında, bir diskete yerleştirilen benzer bir şekilde tasarlanmış bir veritabanına göre bilginin bütünlüğünü temin etmenin daha kolay olduğu gerçeğine güvenebiliriz, çünkü ilk durumda veri kaydının yoğunluğu birim başınadır. parçalar çok daha yüksek. Ortalama tüketici için, tüm tüketiciler gerekli donanıma sahip olmadığından, kitaptaki bilgilerin mevcudiyeti CD'deki aynı bilgiden oldukça yüksektir. Ve son olarak, bir projektördeki bir slaytı görüntülemenin görsel etkisinin kağıda basılmış benzer bir resmi görmekten çok daha fazla olduğu bilinmektedir, çünkü iletilen ışıktaki parlaklık sinyalleri aralığı yansıtılan ışıktan iki ila üç büyüklük sırasıdır.

Veri değişim görevini taşıyıcıyı değiştirmek, bilgisayar bilimlerinin en önemli görevlerinden biridir. Bilgi işlem sistemlerinin maliyeti yapısında, veri girişi ve çıkışı için olan ve depolama ortamıyla çalışan cihazlar donanım maliyetinin yarısını oluşturur.

^ Veri işlemleri

Bilgi işlemi sırasında, veriler yöntemler kullanılarak bir türden diğerine dönüştürülür. Veri işleme birçok farklı işlemi içerir. Bilimsel ve teknolojik ilerlemenin gelişmesi ve insan toplumundaki ilişkilerin genel komplikasyonuyla birlikte, veri işleme için işgücü maliyetleri giderek artmaktadır. Her şeyden önce, üretim yönetimi ve toplum koşullarının sürekli komplikasyonuyla bağlantılıdır. Aynı zamanda, işlenen veri hacminde genel bir artışa da neden olan ikinci faktör, bilimsel ve teknolojik ilerlemeyle, yani yeni veri taşıyıcılarının hızlı bir şekilde ortaya çıkması ve sunulması, depolama ortamı ve veri sunumu ile de ilişkilidir.

Verilerle olası işlemlerin yapısında, aşağıdaki ana işlemlerden birini ayırabiliriz:


  • veri toplama -  karar vermek için yeterli bilgi bütünlüğünü sağlamak için veri birikimi;

  • veri formalizasyonu -  birbirleriyle karşılaştırılabilir kılmak, yani erişilebilirlik seviyelerini arttırmak için verilerin farklı kaynaklardan aynı forma indirilmesi;

  • veri filtreleme -  karar vermek için gerekli olmayan “ekstra” verilerin taranması; aynı zamanda “gürültü” seviyesi düşmeli ve verilerin doğruluğu ve yeterliliği artmalıdır;

  • veri sıralama - kullanım kolaylığı için verilen bir nitelik ile veri siparişi; bilgi kullanılabilirliğini arttırır;

  • veri gruplaması -  kullanım kolaylığını arttırmak için verileri belirli bir temelde birleştirmek; bilgi kullanılabilirliğini arttırır;

  • veri arşivleme -  veri depolamanın uygun ve kolay erişilebilir bir biçimde düzenlenmesi; veri depolama ekonomik maliyetini düşürmeye hizmet eder ve bir bütün olarak bilgi işleminin genel güvenilirliğini arttırır;

  • veri koruması -  veri kaybını, çoğaltılmasını ve değiştirilmesini önleme amaçlı bir dizi önlem;

  • veri aktarımı -  bilgi sürecindeki uzak katılımcılar arasında veri almak ve iletmek (iletmek ve iletmek); bilgisayar biliminde veri kaynağı denir sunucu,  ve tüketici - istemcisi;

  • veri dönüşümü -  verileri bir formdan diğerine veya bir yapıdan diğerine aktarın. Veri dönüştürme genellikle medya türündeki bir değişiklikle ilişkilendirilir, örneğin, kitaplar normal bir kağıt formunda saklanabilir, ancak bu amaçla hem elektronik hem de mikrofilm kullanılabilir. Çoklu veri dönüşümüne duyulan ihtiyaç, özellikle bu tür veriyi taşımayı amaçlamayan yollarla gerçekleştiriliyorsa, nakliyesi sırasında da ortaya çıkar. Örnek olarak, dijital veri akışlarının telefon şebekesi kanalları üzerinden (başlangıçta sadece analog sinyallerin dar bir frekans aralığında iletilmesine odaklanan) taşınması için, dijital verilerin bir tür ses sinyaline dönüştürülmesi gerektiğinden söz edilebilir. telefon modemleri.
  Burada verilen tipik veri işlemlerinin listesi tam olmaktan uzaktır. Dünyanın dört bir yanındaki milyonlarca insan, verilerin yaratılması, işlenmesi, dönüştürülmesi ve taşınması ile ilgilenmektedir ve her işyerinin, sosyal, ekonomik, endüstriyel, bilimsel ve kültürel süreçleri yönetmek için gerekli özel operasyonları vardır. Tam liste  olası işlemler yapılamaz ve gerekli değildir. Şimdi başka bir sonuca ihtiyacımız var: bilgi ile çalışmak çok zahmetli olabilir ve otomatikleştirilmelidir.

^ İkili kod kodlaması

Çeşitli tiplerdeki verilerle çalışmayı otomatikleştirmek için sunum formlarını birleştirmek çok önemlidir - bu amaçla, teknik genellikle kullanılır. kodlama,  yani, bir türdeki verilerin ifadesi, başka bir türdeki veriler aracılığıyla ifade edilir. Doğal insan diller - konuşarak düşünceleri ifade etmek için kullanılan bir kodlama sisteminden başka bir şey değildir. Dillere yakın mors  (grafik sembollerini kullanarak dilin sistem bileşenlerini kodlayan). Tarih, “evrensel” diller ve alfabe yaratmada başarısız denemeler olsa da ilginçtir. Görünüşte, bunları uygulamadaki başarısızlık, ulusal ve sosyal kurumların, kamu verilerinin kodlama sistemindeki bir değişikliğin zorunlu olarak sosyal uygulamalarda (yani, hukuk ve ahlak normları) bir değişikliğe yol açtığını anlamış olmaları gerçeğiyle bağlantılıdır ve bu, sosyal karışıklığa bağlı olabilir. .

Aynı evrensel kodlama sorunu, teknoloji, bilim ve kültürün bazı dallarında oldukça başarılı bir şekilde uygulanmaktadır. Örnekler arasında matematiksel ifade sistemi, telgraf alfabesi, deniz bayrağı alfabesi, kör için Braille sistemi ve daha fazlası yer alır.

Şek. 1.8. Farklı kodlama sistemlerine örnekler

Onun sistemi bilgisayar var - denir ikili kodlama  ve verilerin yalnızca iki karakter dizisiyle sunulmasına dayanır: 0 ve 1. Bu işaretler çağrılır. ikili sayılar  İngilizce - ikili rakam  veya kısaltılmış bit (bit).

Bir bit iki kavramla ifade edilebilir: 0 veya 1 (evetveya   hayır siyah  veya beyaz gerçekveya   yalanve benzeri). Bit sayısı ikiye çıkarılırsa, dört farklı kavram zaten ifade edilebilir:

Üç bit, sekiz farklı değeri kodlayabilir:

000 001 010 01l 100 101 110 111

İkili kodlama sistemindeki bit sayısını bir artırarak, bu sistemde ifade edilebilecek değerlerin sayısını iki katına çıkarırız.

^ Tam sayıların kodlanması ve gerçek sayılar

0 - 255 arası tamsayıları kodlamak için 8 bitlik ikili kodun (8 bit) olması yeterlidir.

0000 0000 = 0

…………………

1111 1110 = 254

1111 1111 = 255

On altı bit, 0 - 65535 arasındaki tam sayıları ve 24 bit - 16,5 milyon farklı değerden daha fazlasını kodlamanıza izin verir.

Gerçek sayıları kodlamak için 80 bit kodlama kullanılır. Sayı önceden dönüştürülmüş normalleştirilmiş form:

3,1415926 = 0,31415926 10 1

300 000 = 0,3 10 6

123 456 789 = 0,123456789 10 9

Numaranın ilk kısmı denir mantis,  ve ikinci özellik.  80 bitin çoğu, mantisi (işaret ile birlikte) depolamak için tahsis edilmiştir ve karakteristikleri (işaret ile birlikte) depolamak için sabit sayıda rakam tahsis edilmiştir.

^ Metin Kodlaması

Alfabedeki her sembol belirli bir tamsayı ile ilişkilendirilmişse (örneğin, bir sıra numarası), o zaman ikili kod kullanarak metin bilgilerini de kodlayabilirsiniz. Sekiz ikili bit 256'yı kodlamak için yeterli farklı karakterler. Bu, hem küçük hem büyük harf olmak üzere İngilizce ve Rusça harflerin tüm karakterlerini, noktalama işaretlerini, temel aritmetik işlemlerin simgelerini ve bazı ortak noktaları ifade etmek için yeterlidir. özel karakterler, örneğin "§" sembolü.

Teknik olarak, çok basit görünüyor, ancak her zaman oldukça örgütsel zorluklar olmuştur. Bilgisayar teknolojisinin gelişiminin ilk yıllarında, gerekli standartların yokluğuyla ilişkiliydi ve şimdi tersine aynı anda çalışan ve çelişkili standartların bolluğundan kaynaklanıyor. Bütün dünyanın metin verilerini aynı şekilde kodlaması için tek tip kodlama tablolarına ihtiyaç vardır, ancak ulusal alfabelerin karakterleri ile kurumsal çelişkiler arasındaki çelişkiler nedeniyle bu hala mümkün değildir.

Uluslararası iletişimin fiili nişini yakalayan İngiliz dili için çelişkiler çoktan giderildi. ABD Standardizasyon Enstitüsü (ANSI - Amerikan Ulusal Standart Enstitüsü)  bir kodlama sistemini devreye sokmak ASCII (Bilgi Değişimi İçin Amerikan Standart Kodu - standart kod  ABD bilgi alışverişi).  Sistemde ASCII  iki kodlama tablosu sabittir: temel  ve uzattı.  Temel tablo, kodları 0 ila 127 arasında sabitler ve genişletilmiş tablo, 128 ila 255 arasında sayıları olan karakterleri ifade eder.

Temel tablonun ilk 32 kodu sıfırdan başlayarak donanım üreticilerine (özellikle bilgisayar ve baskı aygıtları üreticileri) verilir. Bu alanda sözde bulunur   kontrol kodlarıdillerin hiçbir sembolünün uyuşmadığı ve buna göre, bu kodlar ekranda ya da baskı cihazlarında gösterilmez, ancak diğer verilerin nasıl çıktılandığını kontrol edebilirler.

Kod 32'den kod 127'ye kadar, İngiliz alfabesinin karakterlerinin kodları, noktalama işaretleri, sayılar, aritmetik işlemler ve bazı yardımcı karakterler yer alır. Baz kodlama tablosu ASCII  Tablo 1.1'de verilmiştir.

^ Tablo 1.1. Taban masa aSCII kodlaması



Diğer ülkelerde de benzer metin veri kodlama sistemleri geliştirilmiştir. Örneğin, SSCB'de kodlama sistemi KOI-7 bu alanda çalıştırıldı. (yedi basamaklı bilgi değişim kodu). Ancak, ekipman ve yazılım üreticilerinin desteği Amerikan yasalarını getirdi ASCII  seviyeye uluslararası standartve ulusal kodlama sistemlerinin kodlama değerlerini 128'den 255'e kadar tanımlayan ikinci, genişletilmiş kısmına “geri çekilmesi” gerekiyordu. Bu alanda birleşik bir standardın olmayışı, aynı anda geçerli kodlamanın çokluğuna yol açtı. Yalnızca Rusya'da mevcut üç kodlama standardını ve kullanılmayan iki standardı belirleyebilirsiniz.

Örneğin, Rus dilinin karakter kodlaması, kodlama olarak bilinir. Windows 1251,  Microsoft tarafından “dışarıdan” tanıtıldı, ancak Rusya'daki işletim sistemlerinin ve bu şirketin diğer ürünlerinin geniş dağılımı göz önüne alındığında, derinlemesine sağlamlaştı ve geniş bir dağıtım buldu (Tablo 1.2). Bu kodlama, Windows platformunda çalışan çoğu yerel bilgisayarda kullanılır. Aslında, World Wide Web’in Rus sektöründe standart hale geldi.

^ Tablo 1.2. Windows kodlaması 1251



Başka bir yaygın kodlamaya KOI-8 denir. (bilgi alışverişi kodu, sekiz basamaklı) -  kökeni, Doğu Avrupa Devletlerinin Karşılıklı Ekonomik Yardımlaşma Konseyinin eylem zamanına dayanmaktadır (Tablo 1.3). Bu kodlamaya dayanarak, KOI8-R (Rusça) ve KOI8-U (Ukrayna) kodlamaları şu anda yürürlüktedir. Günümüzde, KOI8-P kodlaması, Rusya'daki bilgisayar ağlarında ve Rus İnternet sektörünün bazı hizmetlerinde yaygın olarak kullanılmaktadır. Özellikle, Rusya'da iletişimde fiili bir standarttır. elektronik posta  ve haber grupları.

Rus alfabesinin karakterlerinin kodlanmasının sağlandığı uluslararası standarda ISO kodlaması denir. Uluslararası Standart Örgütü - Uluslararası Standardizasyon Enstitüsü.  Uygulamada, bu kodlama nadiren kullanılır (tablo 1.4).

^ Tablo 1.3. KOI-8 kodlaması



Tablo 1.4. ISO kodlaması



Çalışan bilgisayarlarda işletim sistemleri MS-DOS,  iki kodlama daha uygulanabilir (kodlama GOST  ve kodlama GOST-alternatif).Bunlardan ilki, kişisel bilgi işlemlerin ortaya çıkışının ilk yıllarında bile modası geçmiş kabul edildi, ancak ikincisi bugün hala kullanılıyor (bkz. Tablo 1.5).

^ Tablo 1.5. GOST-alternatif kodlama



Rusya'da faaliyet gösteren metin veri kodlama sistemlerinin bolluğu ile bağlantılı olarak, sistemler arası veri dönüşümü sorunu ortaya çıkmaktadır - bu en yaygın bilgisayar bilimi görevlerinden biridir.

^ Evrensel metin veri kodlama sistemi

Metin verileri için birleşik bir kodlama sisteminin oluşturulmasıyla ilgili örgütsel zorlukları analiz edersek, bunlara sınırlı bir kod grubundan kaynaklandığını söyleyebiliriz (256). Aynı zamanda, örneğin, kodlama karakterlerinin sekiz bitli ikili sayılar değil, ancak çok sayıda haneli sayılar olması durumunda, olası kod değerleri aralığının çok daha büyük olacağı açıktır. 16 bitlik karakter kodlamasına dayanan böyle bir sistem denir evrensel - UNICODE.  On altı rakam 65,536 farklı karakter için benzersiz kodlar sağlamanıza izin verir - bu alan gezegenin sembollerinin çoğuna tek bir tabloya sığdırmak için yeterlidir.

Böyle bir yaklaşımın önemsiz açıkça görülmesine rağmen, bilgisayar donanımının yetersiz kaynakları nedeniyle (kodlama sisteminde) bu sisteme basit bir mekanik geçiş uzun bir süre boyunca sürdürüldü. UNICODE  tüm metin belgeleri otomatik olarak iki kat daha uzun olur). 90'lı yılların ikinci yarısında, teknik araçlar gerekli kaynak desteği seviyesine ulaştı ve bugün, kademeli bir belge ve yazılımın evrensel bir kodlama sistemine aktarılmasına tanık oluyoruz. Bireysel kullanıcılar için, bu, farklı kodlama sistemlerinde yürütülen belgelerin yazılımla koordinasyonu için daha fazla endişe sağladı, ancak bu geçiş döneminin zorlukları olarak anlaşılmalıdır.

^ Grafik kodlaması

Gazete veya kitapta basılmış siyah beyaz bir grafik resme bakarsanız, bunun adı verilen karakteristik bir desen oluşturan en küçük noktalardan oluştuğunu görebilirsiniz. raster  (Şekil 1.9).



Şek. 1.9. Raster, uzun zamandır baskı endüstrisinde kabul edilen grafik bilgisini kodlama yöntemidir.

Doğrusal koordinatlar ve her bir noktanın ayrı ayrı özellikleri (parlaklık) tam sayılar kullanılarak ifade edilebildiğinden, raster kodlamanın grafik verilerini temsil etmek için ikili kod kullanımına izin verdiğini söyleyebiliriz. Günümüzde genel kabul görmüş olan siyah beyaz resimlerin 256 derece gri noktalarla birleşimi şeklinde gösterilmesidir ve bu nedenle, sekiz basamaklı bir ikili sayı genellikle herhangi bir noktanın parlaklığını kodlamak için yeterlidir.

Kullanılan renkli grafikleri kodlamak için ayrışma prensibi  Ana bileşenlerde herhangi bir renk. Bu tür bileşenler üç ana renk kullandığından: kırmızı (Kırmızı, R),  yeşil (Yeşil, G)  ve mavi (Mavi, B).  Uygulamada, insan gözüyle görülebilen herhangi bir rengin bu üç ana rengi mekanik olarak karıştırarak elde edilebileceği düşünülmektedir (teorik olarak öyle olmasa da). Böyle bir kodlama sistemine sistem denir. RGB  Ana renklerin adlarının ilk harfleri ile.

Ana bileşenlerin her birinin parlaklığını, yarı ton siyah beyaz görüntülerde olduğu gibi 256 değer (sekiz ikili basamak) kullanmak üzere kodlamak için bir noktanın rengini kodlamak için 24 bit harcamak gerekir. Bu durumda, kodlama sistemi, aslında insan gözünün hassasiyetine yakın olan 16.5 milyon farklı rengin net bir şekilde tanımlanmasını sağlar. 24 bit kullanarak renkli grafikleri temsil etme modu denir tam renkli (gerçek renk).

Ana renklerin her birine ek bir renk, yani temel rengi beyaza tamamlayan bir renk atanabilir. Ana renklerin herhangi biri için, diğer ana renk çiftinin toplamından ilave bir renk oluşacağını görmek kolaydır. Buna göre ek renkler: mavi (Camgöbeği, C),  mor (Macenta, M)  ve sarı ( Sarı, y). İsteğe bağlı bir rengin bileşenlerine ayrışması ilkesi yalnızca birincil renklere değil, ek renklere de uygulanabilir, yani herhangi bir renk, mavi, macenta ve sarı bileşenlerin toplamı olarak gösterilebilir. Bu renk kodlama yöntemi baskı endüstrisinde benimsenmiştir ancak dördüncü boya baskı endüstrisinde de kullanılmaktadır - siyah (Siyah, K).  bu nedenle bu sistem  kodlama dört harfle gösterilir CMYK  (siyah harfle gösterilir K  çünkü mektup   zaten mavi renkle meşgul) ve bu sistemdeki renkli grafikleri temsil etmek için 32 ikili basamağa sahip olmanız gerekir. Bu mod da denir tam renkli (gerçek renk).

Her bir noktanın rengini kodlamak için kullanılan ikili basamak sayısını azaltırsanız, veri miktarını azaltabilirsiniz, ancak kodlanmış renklerin aralığı önemli ölçüde azalır. 16-bit ikili sayılarla kodlayan renkli grafiklere mod denir Yüksek renk

Sekiz bit veri kullanarak renk bilgisini kodlarken, sadece 256 renk iletilebilir. Bu renk kodlama yöntemi denir indeks.  İsmin anlamı, 256 değerin insan gözüne tüm renk yelpazesini iletmek için tamamen yetersiz olması nedeniyle, rasterin her noktasının kodunun rengin kendisini değil, sadece sayısını ifade etmesidir. (Dizin)bir tür referans tablosunda denilen paleti.  Elbette, bu palet grafik verilere eklenmelidir - onsuz, ekranda veya kağıt üzerinde bilgi çalma yöntemlerini kullanamazsınız (yani onu kullanabilirsiniz, elbette, ancak eksik veriler nedeniyle, elde edilen bilgiler yeterli olmaz: ağaçlardaki yapraklar kırmızı olabilir.) ve gökyüzü - yeşil).

^ Ses kodlaması

En son ses bilgisiyle çalışmanın teknikleri ve yöntemleri bilgisayar teknolojisine geldi. Ayrıca, sayısal, metinsel ve grafiksel verilerin aksine, ses kayıtlarının eşit derecede uzun ve doğrulanmış bir kodlama geçmişi yoktu. Sonuç olarak, ses bilgisini ikili kod ile kodlama yöntemleri standardizasyondan uzaktır. Birçok bireysel şirket kurumsal standartlarını geliştirmiştir.

Sitelerin yaratıcısı her zaman sorunla karşı karşıya kalır: bir proje oluşturmak için hangi kodlamayı. Rus dilinde Internet'te iki kodlama kullanılır:

UTF-8  (İngilizce'den Unicode Dönüşüm Formatı) - şimdi 8 bitlik metin kodlamasıyla uyumlu Unicode gösterimini uygulayan ortak bir kodlama.

Windows-1251  (ya da cP1251) - Microsoft Windows'un tüm Rus sürümleri için standart bir 8 bit kodlama olan karakter kümesi ve kodlama.

UTF-8 daha umut verici. Ancak her şeyin kusurları vardır. Ve sadece bir çok kodlamayı kullanmaya karar vermesi, diğer birçok faktörü hesaba katmadan doğru gelmiyor gibi görünüyor. Seçim, yalnızca belirli bir projenin tüm nüanslarını tamamen dikkate aldığında optimal olacaktır. Başka bir şey, tüm nüansları sağlamak için - kendi içinde çok basit değil.

UTF-8'i kullanmanın tercih edilebilir olduğuna inanıyoruz, ancak ne seçileceğine karar vermek proje geliştiricisinin işi. Ve bu seçimi kolaylaştırmak için, her iki kodlamanın özelliklerinin karşılaştırmalı tablosunu kullanın.

özellik UTF-8 Windows 1251
Genel doğa
çok dilli Kodlama, hem genel hem de sitenin idari bölümünde farklı dilleri kullanmanızı sağlar.
  • Var olan büyük sitenin kodlamasını Windows-1251'den UTF-8'e değiştirmek ciddi ek işçilik ve finansal maliyetlere neden olabilir.
  • Rusça ve İngilizce, Windows-1251 ile sorunsuz çalışır, eğer başka dillere kesinlikle ihtiyaç duyulmazsa, UTF-8'e gerek yoktur.
Çok sayıda karakter. Özel karakter kullanma imkanı. Var. Ancak tarayıcıların olanaklarını göz önünde bulundurmalıyız. Düzenli olarak hayır. Özel karakterleri "koltuk değneği" ile değiştirmek mümkündür, örneğin, © for & cory; veya × (çarpma işareti) & times; Ancak bu, içerik yöneticisinin eğitim seviyesi için gereksinimleri artırır ve başka bir veritabanından veri aktarırken sorun yaratır. Ek olarak, Bitrix Framework görsel bir editör kullanmayan alanlara sahiptir; örneğin, bir sayfanın adı veya bir bilgi bloğu öğesinin adı. Aynı zamanda düşük vasıflı personel tarafından proje desteğini zorlaştırmaktadır.
Çalışma hızı
  • Site çalışırken, dizeler üzerinde çalışmanın tüm işlevleri mb_ *. Bu, tüm metnin sitenin kodlamasına kodlanacağı anlamına gelir.
  • utf Strlen  dize uzunluğuna bağlıdır, sırasıyla normal strlen  çok bayttan 3 kat daha hızlı çalışır: bin yinelemede 0,0004 - 0,0013. Ölçümlere göre, bu gerçek sitenin hızında% 10-15 fark yaratıyor.
Proje kapsamını en aza indirin. Bu kodlamadaki satırların, tek baytlık Windows-1251'deki satırlardan iki kat daha fazla yer kaplamasından dolayı UTF-8'deki proje açıkça daha zor olacaktır. Sitenin ve veritabanının boyutu 1.2 - 1.5 kat daha büyük olacaktır.
Çoğu js çerçevesinin desteği Sorunsuz desteklenir. Uygulamadaki zorluklar.
destek MS SQL Teknik nedenlerden dolayı MS SQL  Windows-1251'de saklanmalı ve saklanmalıdır. Ek yapılandırma gerekli. Önemli değil
CSV içe aktarma Excel  UTF-8'e kaydetmez. Bu kodlamada oluşturulan dosyanın başka bir editör yardımı ile yeniden kaydedilmesi gerekir. Önemli değil
1C’den içe aktar UTF-8'deki siteler, entegrasyon sırasında sorunsuz çalışır SABUN  örneğin 1C gibi sistemler ile.
Web Danışmanı Yandex.Metrica Webvisor ziyaretçilerin eylemlerini doğru şekilde kaydeder. Kayıt hataları mümkündür.
İle ilişkili Bitrix Framework
Farklı kodlama sistemlerinde çok bölgeli siteler yapabilme. İmkansız. Aynı çekirdekteki tüm siteler aynı kodlamada olmalıdır.
Farklı barındırma desteği Bitrix Framework ile çalışırken, php seçeneği etkin olmalıdır. mbstring.func_overload  büyük veya eşittir 2 . Öyle. Herhangi bir hosting üzerinde çalışıyor.
Ürün yerleştirme sanal makine BitrixVM. Varsayılan olarak. Ek yapılandırma adımları gerektirir.
Site menü öğelerinin doğru gösterilmesi Bu kodlamayı kullanırken böyle bir sorun mümkündür. Her bir dosyayı UTF-8'e tekrar kaydederek çözülmüştür. (Kesin olarak, sadece menü dosyalarının değil tüm dosyaların kodlanmasının kontrol edilmesi ve gerekirse dosyalarının şifrelenmesi önerilir.)
Kaynak kodu IDE’ye aktarın, örneğin güneş tutulması pdt Ayarlarda ayarlanan UTF-8 projesiyle, Bitrix Framework çekirdek kodu bozulmasındaki yorumlar. Önemli değil
Farklı şeyler
İle etkileşimi WordPress  (blog müşterileri, geri izleme ve ping "ve) Var hayır
Dosyaların şuna göre düzenlenmesi: FTP  içinden FAR FAR yalnızca sürüm 2.0’dan gelen UTF’yi destekler. Mümkün
Çoğu editör tarafından destek Malzeme listesi olmadan UTF-8 kodlamasını destekleyen bir editör gereklidir. Önemli değil

Bir siteyi win1251'den UTF-8'e nasıl çevirebilirim?

Genel prosedür:

    1. Veritabanının tamamını UTF-8 olarak kodlayın (büyük olasılıkla yardım için sunucu yöneticisine başvurmanız gerekir).

    2. Tüm site dosyalarını UTF-8 olarak kodlayın (kendiniz yapabilirsiniz).

    3. /bitrix/php_interface/dbconn.php dosyasına aşağıdaki satırları ekleyin:

  define ("BX_UTF", doğru);

4. Aşağıdaki satırları /.htaccess dosyasına ekleyin:

Php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8

Sitenin kök klasöründe SSH aracılığıyla komutu çalıştırarak tüm site dosyalarını UTF-8'e (ikinci öğe) yeniden kodlayabilirsiniz:

Bulun. -adı "* .php" -tipi f -exec iconv -fcp1251 -tutf8 -o / tmp / tmp_file () \\; -exec mv / tmp / tmp_file () \\;