Amerikan Ulusal Standartlar Enstitüsü(İngilizce) A merkan n ulusal s standartlar i enstitü ANSI), ticaret ve iletişim standartlarını geliştiren Amerikan sanayi ve iş gruplarının bir birliğidir. Orada ABD çıkarlarını temsil eden ISO ve IEC üyesidir.

Hikaye

ANSI ilk olarak 1918'de beş mühendislik topluluğu ve üç devlet kurumunun "Amerikan Mühendislik Standartları Komitesi"ni (Amerikan Mühendislik Standartları Komitesi) kurmasıyla kuruldu. AESC- İngilizce. Amerikan Mühendislik Standartları Komitesi). 1928 yılında komite Amerikan Standartları Derneği olarak tanındı. OLARAK- İngilizce. Amerikan Standartları Derneği). 1966'da ASA yeniden düzenlendi ve "Amerika Birleşik Devletleri Standartlar Enstitüsü" oldu ( ABDASI- İngilizce. Amerika Birleşik Devletleri Standartlar Enstitüsü). Mevcut isim 1969'da kabul edildi.

1918 yılına kadar teknik standartların geliştirilmesinde yer alan beş mühendislik topluluğu vardı:

  • Amerikan Elektrik Mühendisleri Enstitüsü (AIEE, şimdi IEEE)
  • Amerikan Makine Mühendisleri Derneği (ASME)
  • Amerikan İnşaat Mühendisleri Derneği (ASCE)
  • Amerikan Maden Mühendisleri Enstitüsü (AIME, şimdi Amerikan Madencilik, Metalurji ve Petrol Mühendisleri Enstitüsü)
  • Amerikan Test ve Malzeme Derneği (şimdi ASTM)

1916'da Amerikan Elektrik Mühendisleri Enstitüsü (şimdi IEEE), standart geliştirme, uyumlaştırma ve ulusal standartların onayını koordine etmek için bağımsız bir ulusal organ oluşturmak üzere bu kuruluşları bir araya getirme girişiminde bulundu. Yukarıdaki beş kuruluş, Birleşik Mühendislik Topluluğu'nun (United Engineering Society - UES) ana üyeleri oldu, daha sonra ABD Savaş Bakanlığı, Deniz Kuvvetleri (1947'de ABD Savunma Bakanlığı olarak birleşti) ve Ticaret kurucu olarak katılmaya davet edildi.

1931'de kuruluş (1928'de ASA olarak yeniden adlandırıldı), 1904'te elektrik ve elektronik mühendisliğinde standartlar geliştirmek için kurulan Uluslararası Elektroteknik Komisyonu'nun (IEC) ABD Ulusal Komitesi'nin bir parçası oldu.

Üyeler

ANSI üyeleri arasında devlet kurumları, kuruluşlar, akademik ve uluslararası kuruluşlar ve bireyler yer alır. Toplamda, Enstitü dünya çapında 270.000'den fazla şirket ve kuruluşun ve 30 milyon profesyonelin çıkarlarını temsil eder /

Aktivite

ANSI'nin kendisi standart geliştirmese de Enstitü, standart geliştirme kuruluşlarının prosedürlerinin akreditasyonu yoluyla standartların geliştirilmesini ve kullanımını denetler. ANSI akreditasyonu, standart geliştiren kuruluşlar tarafından kullanılan prosedürlerin Enstitü'nün açıklık, denge, fikir birliği ve yasal süreç gereksinimlerini karşıladığı anlamına gelir.

ANSI ayrıca, Enstitü standartların adil, erişilebilir ve çeşitli paydaşların ihtiyaçlarına yanıt veren bir ortamda geliştirildiğini belirlediğinde, belirli standartları Amerikan Ulusal Standartları veya ANS olarak belirler.

Uluslararası aktivite

ABD standardizasyon faaliyetlerine ek olarak, ANSI ABD standartlarının uluslararası kullanımını teşvik eder, uluslararası ve bölgesel standart organizasyonlarında ABD'nin siyasi ve teknik konumunu savunur ve uluslararası standartların ulusal standartlar olarak benimsenmesini teşvik eder.

Enstitü, kurucu üye olarak Uluslararası Standardizasyon Örgütü (ISO) ve ABD Ulusal Komitesi (USNC) aracılığıyla Uluslararası Elektroteknik Komisyonu (IEC) olmak üzere iki büyük uluslararası standart kuruluşunun resmi ABD temsilcisidir. ANSI hemen hemen tüm teknik program ISO ve IEC ve birçok kilit komite ve alt grubu yönetir. Çoğu durumda, ABD standartları, tamamen veya kısmen Uluslararası Standartlar olarak kabul edildikleri ANSI veya USNC aracılığıyla ISO ve IEC'ye sunulur.

ISO ve IEC standartlarının ABD standartları olarak kabulü 1986'da %0,2'den Mayıs 2012'de %15,5'e yükseldi.

Standardizasyon yönergeleri

Enstitü dokuz standardizasyon grubunu yönetir:

  • ANSI Vatan Savunma ve Güvenlik Standardizasyon İşbirliği (HDSSC)
  • ANSI Nanoteknoloji Standartları Paneli (ANSI-NSP - ANSI Nanoteknoloji Standartları Paneli)
  • Kimlik Hırsızlığı Önleme ve Kimlik Yönetimi Standartları Paneli (IDSP - Kimlik Hırsızlığı Önleme ve Kimlik Yönetimi Standartları Paneli)
  • ANSI Enerji Verimliliği Standardizasyon Koordinasyon İşbirliği (EESCC)
  • Nükleer Enerji Standartları Koordinasyon İşbirliği (NESCC-Nükleer Enerji Standartları Koordinasyon İşbirliği)
  • Elektrikli Araçlar Standartları Paneli (EVSP)
  • Kimyasal Düzenlemeye İlişkin ANSI-NAM Ağı
  • ANSI Biyoyakıt Standartları Koordinasyon Paneli
  • Sağlık Bilgi Teknolojisi Standartları Paneli (HITSP)
  • Amerikan Borulama ve Makine Sertifikasyon Ajansı

Grupların her biri, bu alanlarla ilgili gönüllü standartları belirlemek, koordine etmek ve uyumlu hale getirmekle ilgilenir. 2009 yılında, ANSI ve (NIST) Nükleer Enerji Standartları Koordinasyon İşbirliğini (NESCC) kurdu. NESCC, nükleer endüstrideki standartlara yönelik mevcut ihtiyacı belirlemek ve karşılamak için ortak bir girişimdir.

standartlar

Enstitü tarafından kabul edilen standartlardan aşağıdakiler bilinmektedir:

Yaygın yanlış anlamanın aksine, ANSI, ISO-8859-1 kodlamasının ve muhtemelen diğerlerinin geliştirilmesine dahil olmasına rağmen, 8 bitlik kod sayfası standartlarını benimsemedi.

Notlar

  1. ANSI hakkında
  2. RFC
  3. ANSI: Tarihsel bakış (belirsiz) . ansi.org. Erişim tarihi: 31 Ekim 2016.
  4. ANSI'nin Tarihçesi

Tüm ANSI basınç sınıfı tanımlarının belirli bir anlamı, yani basınç değeri olduğunu, ancak yalnızca alıştığımızdan farklı birimlerde olduğunu belirtmekte fayda var. ANSI'den sonraki tüm sayılar Nominal (Nominal) Basınç değerini gösterir: ANSI 150, ANSI 300, ANSI 600, ANSI 900, ANSI 1500, ANSI 2500 ve ANSI 4500. Örneğin, ANSI 150, nominal basıncın 150 psi olduğu anlamına gelir. İngilizce'de bu, İnç Kare başına Pound-force veya kısaca PSI olarak yazılır.

Buna göre, bu şekilde, inç kare başına pounddan bara (100 kPa) veya MPa'ya bağımsız bir dönüşüm yapmak mümkündür. Kesin olanın bağımsız bir hesaplaması için 1 PSI \u003d 6894.76 Pa olduğunu bilmeniz gerekir. Tüm ANSI basınç hesaplamaları bar ve Pascal cinsinden zaman ve doğru verilere ihtiyaç duyulduğunda yapılabilir, aynı zamanda çoğu standart ANSI basınç sınıfı değeri zaten standart bar ve MPa değerlerine sahiptir. Basitleştirmek için, referansınız için kısa bir tablo derledik:

Bar ve MPa'ya dönüştürülen ANSI basınç sınıfları tablosu

ANSI basınç sınıfı

Bazen oldukça deneyimli bir uzman bile, bir sistemdeki belirli bir basınç veya uzunluk değerinin başka bir miktar sistemindeki değerlere karşılık geldiğini hemen söylemez.

İle hafifletmek Size bu görevi, Avrupa ve Amerika sistemlerinde küçük ile basınç ve uzunluk arasındaki ilişkinin tablolarını sunuyoruz. açıklamalar. Ama önce, standartların kendileri hakkında birkaç söz.


DIN Alman standardıdır ( Deutsches Institut für Normung, yani, kesinlikle Uluslararası Standardizasyon Örgütü - ISO (Uluslararası Standardizasyon Örgütü) hükümleri çerçevesinde geliştirilen Alman Standardizasyon Enstitüsü tarafından geliştirilmiştir.


ANSI Amerika Birleşik Devletleri'nde kabul edilen standarttır. anlamına gelir Amerikan Ulusal Standartlar Enstitüsü, Amerikan Ulusal Standartlar Enstitüsü standardıdır.

Buna göre, ANSI standartları bu kurum tarafından belirlenir ve uzak her zaman değil standartlar arasında DIN ve ANSI tam olarak izleyebilir uymaçeşitli alanlarda.

Basınç birimlerini ANSI'den DIN'e dönüştürme

Burada her şey basit: eğer standarda uygunsa ANSI basıncın karşısında 150 sayısı vardır - bu, nominal (vananın tasarlandığı) basıncın 20 bar, 300 - 50 bar, vb. olduğu anlamına gelir. için maksimum değer ANSI sınıfı– 2500, Avrupa standardına göre 420 bara eşit olacaktır DIN.


Bu tabloyu kullanarak, zor değil basınç değerlerini dönüştürün ve tam tersi: DIN içinde ANSI mühendislerimizin çok daha fazlasına ihtiyacı olmasına rağmen daha az sıklıkta.

Uzunluk birimlerinin Amerikan sisteminden Avrupa sistemine dönüştürülmesi (Rusça)

Bilindiği gibi, Amerikalılar her şey inç ve fit olarak ölçülür ve biz Avrupalılar- milimetre, santimetre ve metre, yani dünyadaki ülkelerin büyük çoğunluğu gibi yaşadığımız metrik birimler sistemi.


İnç milimetreye nasıl çevrilir? Aslında, bunda da karmaşık bir şey yok, sadece 1 inç'in 25,4 mm'ye eşit olduğunu unutmayın. Ancak, genellikle ondalık noktadan sonraki basamak ihmal ve iyi bir önlem için şunu belirtin 1 inç = 25 mm.

Bu nedenle, örneğin, Amerikan ölçü sistemine göre girişin enine kesiti 2 inç ise, bu değeri yukarıdaki kurala göre ölçü sistemimize çevirerek, 50 mm veya daha kesin olarak, 51 mm (kurallara göre 50.8 yuvarlama) .

Çapı eklemek için kalır tekniközellikler Latin harfleriyle işaretlenmiştir DN ve sıklıkla belirtilir inç, ve basınç harflerle gösterilir PN ve en sık olarak belirtilir Barlar- her durumda, tam olarak bu işareti en çok rahat.

Ve aşağıdaki tablo yardım edecek sen hesapla sadece bire bir aynı bir inçteki milimetre sayısı (milimetrenin binde biri hassasiyetle), ancak aynı zamanda örneğin 2,5 inçte kaç milimetrenin bulunduğunu bulmanıza da yardımcı olacaktır.

Bunu yapmak için 2 "" (2 inç) sütununu buluyoruz ve solda 1/2 değerini arıyoruz. 64 mm'ye kadar yuvarlanabilen toplam 2,5 inç = 63.501 mm ve örneğin 6.25 inç (yani, 6 ve 1/4) = 158.753 mm veya 159 mm.


İnç "" - milimetre



Reg.ru: alan adları ve barındırma

Rusya'daki en büyük kayıt şirketi ve barındırma sağlayıcısı.

2 milyondan fazla alan adı hizmette.

Promosyon, etki alanı için posta, iş için çözümler.

Dünya çapında 700 binden fazla müşteri şimdiden seçimini yaptı.

*Kaydırmayı duraklatmak için fareyle üzerine gelin.

İleri geri

Kodlamalar: faydalı bilgiler ve kısa bir geçmişe bakış

Bu makaleyi kodlamalar konusunda küçük bir inceleme olarak yazmaya karar verdim.

Genel olarak kodlamanın ne olduğunu anlayacağız ve prensipte nasıl göründüklerinin tarihine biraz değineceğiz.

Bazı özelliklerinden bahsedeceğiz ve ayrıca kodlamalarla daha bilinçli çalışmamıza ve sözde kodlamalardan kaçınmamıza izin veren noktaları ele alacağız. krakozyabrov, yani okunamayan karakterler

O zaman hadi gidelim...

kodlama nedir?

Basit ifadeyle, kodlama belirli sayısal kodlara ekranda görebildiğimiz karakter eşlemelerinin bir tablosudur.

Şunlar. klavyeden girdiğimiz veya monitör ekranında gördüğümüz her karakter, belirli bir bit dizisiyle (sıfırlar ve birler) kodlanır. 8 bit, muhtemelen bildiğiniz gibi, 1 bayt bilgiye eşittir, ancak daha sonra bu konuda daha fazlası.

Karakterlerin görünümü, yazı tipi dosyaları tarafından belirlenir. bilgisayarınızda yüklü olan Bu nedenle, metni ekranda görüntüleme süreci, sıfır ve bir dizilerinin yazı tipinin parçası olan bazı belirli karakterlere sabit bir eşlemesi olarak tanımlanabilir.

Tüm modern kodlamaların atası kabul edilebilir. ASCII.

Bu kısaltma şu anlama gelir: Bilgi değişimi için Amerikan Standart kodu(Yazdırılabilir karakterler ve bazı özel kodlar için Amerikan standart kodlama tablosu).

BT tek bayt kodlama, başlangıçta yalnızca 128 karakter içeriyordu: Latin alfabesinin harfleri, Arap rakamları, vb.


Daha sonra genişletildi (başlangıçta 8 bitin tamamını kullanmıyordu), böylece 128 değil, bir bayt bilgide kodlanabilen 256 (2 ila 8) farklı karakter kullanmak mümkün oldu.

Bu iyileştirme, ASCII'ye eklemeyi mümkün kıldı. ulusal dillerin sembolleri, zaten var olan Latin alfabesine ek olarak.

Dünyada da çok fazla dil olması nedeniyle genişletilmiş ASCII kodlaması için birçok seçenek vardır. Sanırım birçoğunuz böyle bir kodlamayı duymuşsunuzdur. KOI8-R ayrıca genişletilmiş bir ASCII kodlamasıdır, Rusça karakterlerle çalışmak üzere tasarlanmıştır.

Kodlamaların geliştirilmesindeki bir sonraki adım, sözde görünümün görünümü olarak kabul edilebilir. ANSI kodlamaları.

Esasen onlar aynıydı ASCII'nin genişletilmiş sürümleri ancak, bunlardan çeşitli sözde grafik öğeler çıkarıldı ve daha önce yeterli "boş alan" olmayan tipografik semboller eklendi.

Böyle bir ANSI kodlamasının bir örneği, iyi bilinen Windows-1251. Tipografik sembollere ek olarak, bu kodlama Rusça'ya yakın dillerin alfabelerinin harflerini de içeriyordu (Ukraynaca, Belarusça, Sırpça, Makedonca ve Bulgarca).


ANSI kodlaması,. Aslında, ANSI kullanırken gerçek kodlama, bilgisayarınızın kayıt defterinde belirtilenlere göre belirlenecektir. işletim sistemi Pencereler. Rusça söz konusu olduğunda, bu Windows-1251 olacaktır, ancak diğer diller için farklı bir ANSI türü olacaktır.

Anladığınız gibi, bir sürü kodlama ve tek bir standardın olmaması iyi getirmedi, bu da sözde ile sık sık toplantıların nedeniydi. krakozyabry- okunamayan anlamsız bir karakter kümesi.

Görünüşlerinin nedeni basit - bu başka bir kodlama tablosu kullanarak bir kodlama tablosuyla kodlanmış karakterleri görüntülemeye çalışmak.

Web geliştirme bağlamında, örneğin şu durumlarda hatalarla karşılaşabiliriz: Rusça metin yanlışlıkla sunucuda kullanılan yanlış kodlamaya kaydedildi.

Okunamayan metinler alabileceğimiz tek durum elbette bu değil - burada bir çok seçenek var özellikle de bilgilerin belirli bir kodlamada saklandığı bir veritabanı da olduğunu düşündüğünüzde, bir veritabanı bağlantısı var haritalama vb.

Tüm bu sorunların ortaya çıkması, yeni bir şey yaratmak için bir teşvik görevi gördü. Dünyadaki herhangi bir dili kodlayabilecek bir kodlama olması gerekiyordu (sonuçta, tek baytlık kodlamaların yardımıyla, tüm arzuyla, tüm karakterleri tanımlamak imkansız, diyelim ki, Çince, açıkça 256'dan fazla olduğu yerde), ek özel karakterler ve tipografi.

Tek kelimeyle, yaratmak gerekliydi hata sorununu bir kez ve herkes için çözecek evrensel bir kodlama.

Unicode - evrensel metin kodlaması (UTF-32, UTF-16 ve UTF-8)

Standardın kendisi 1991 yılında kar amacı gütmeyen bir kuruluş tarafından önerildi. "Unicode Konsorsiyumu"(Unicode Consortium, Unicode Inc.) ve çalışmasının ilk sonucu bir kodlamanın yaratılmasıydı. UTF-32.

Bu arada, kısaltma UTF anlamına gelir Unicode Dönüşüm Formatı(Unicode Dönüştürme Biçimi).

Bu kodlamada, bir karakteri kodlamak için olabildiğince çok karakter kullanması gerekiyordu. 32 bit, yani 4 bayt bilgi. Bu sayıyı tek baytlık kodlamalarla karşılaştırırsak, basit bir sonuca varırız: Bu evrensel kodlamada 1 karakteri kodlamak için ihtiyacınız olan 4 kat daha fazla bit, bu da dosyayı 4 kez "ağırlıklandırıyor".

Bu kodlama kullanılarak potansiyel olarak tanımlanabilecek karakter sayısının tüm makul sınırları aştığı ve teknik olarak 2 üzeri 32'ye eşit bir sayı ile sınırlı olduğu da açıktır. Bunun, dosyaların ağırlığı açısından açık bir abartı ve savurganlık olduğu açıktır, bu nedenle bu kodlama yaygın olarak kullanılmamıştır.

Yeni bir gelişme ile değiştirildi - UTF-16.

Adından da anlaşılacağı gibi, bu kodlamada bir karakter kodlanmıştır. artık 32 bit değil, yalnızca 16(yani 2 bayt). Açıkçası, bu herhangi bir karakteri UTF-32'dekinden iki kat daha "hafif", ancak aynı zamanda tek baytlık bir kodlama kullanılarak kodlanmış herhangi bir karakterden iki kat daha "ağır" yapar.

UTF-16'da kodlama için kullanılabilen karakter sayısı en az 2 üzeri 16'dır, yani. 65536 karakter. Her şey yolunda görünüyor, ayrıca UTF-16'daki kod alanının son değeri 1 milyondan fazla karaktere genişletildi.

Ancak bu kodlama, geliştiricilerin ihtiyaçlarını tam olarak karşılamadı. Diyelim ki, yalnızca Latin karakterleri kullanarak yazıyorsanız, ASCII kodlamasının genişletilmiş sürümünden UTF-16'ya geçtikten sonra, her dosyanın ağırlığı iki katına çıktı.

Sonuç olarak, evrensel bir şey yaratmak için başka bir girişimde bulunuldu, ve bu bir şey iyi bilinen UTF-8 kodlaması haline geldi.

UTF-8- bu değişken karakter uzunluğu ile çok baytlı karakter kodlaması. Adına baktığınızda, UTF-32 ve UTF-16'ya benzeterek, bir karakteri kodlamak için 8 bit kullanıldığını düşünebilirsiniz, ancak bu böyle değil. Daha doğrusu, pek öyle değil.

Bunun nedeni, UTF-8'in 8 bitlik karakterler kullanan eski sistemlerle en iyi uyumluluğu sağlamasıdır. UTF-8'de tek bir karakteri kodlamak için aslında kullanılır 1 ila 4 bayt(varsayımsal olarak 6 bayta kadar mümkündür).

UTF-8'de tüm Latin karakterleri, tıpkı ASCII kodlamasında olduğu gibi 8 bit ile kodlanmıştır.. Başka bir deyişle, ASCII kodlamasının (128 karakter) temel kısmı, her şeyin başlatıldığı kodlamanın evrenselliğini korurken, temsillerine yalnızca 1 bayt "harcamanıza" izin veren UTF-8'e taşındı.

Bu nedenle, ilk 128 karakter 1 bayt ile kodlanmışsa, diğer tüm karakterler zaten 2 bayt veya daha fazla ile kodlanmıştır. Özellikle her Kiril karakteri tam olarak 2 bayt ile kodlanmıştır.

Böylece, gereksiz yere "ağır" dosyalar olmadan gösterilmesi gereken tüm olası karakterleri kapsamamıza izin veren evrensel bir kodlamaya sahibiz.

BOM ile mi yoksa BOM olmadan mı?

ile çalıştıysanız metin editörleri(kod editörleri tarafından), örneğin not defteri++, phpTasarımcı, hızlı PHP vb., o zaman muhtemelen sayfanın oluşturulacağı kodlamayı ayarlarken genellikle 3 seçenek seçebileceğiniz gerçeğine dikkat ettiler:

ANSI
-UTF-8
- BOM olmadan UTF-8


Her zaman seçmeye değer olduğunu hemen söyleyeceğim son seçenek - BOM'suz UTF-8.

Peki BOM nedir ve neden buna ihtiyacımız yok?

malzeme listesi anlamına gelir Bayt Sırası İşareti. Bu, endianlığı belirtmek için kullanılan özel bir Unicode karakteridir. Metin dosyası. Spesifikasyona göre kullanımı isteğe bağlıdır, ancak malzeme listesi kullanıldığında, metin dosyasının başında ayarlanmalıdır.

İşin ayrıntılarına girmeyeceğiz malzeme listesi. Bizim için ana sonuç şudur: bu hizmet karakterini UTF-8 ile birlikte kullanmak, programların kodlamayı normal şekilde okumasını engeller, komut dosyası hatalarına neden olur.

ANSI, Amerikan Ulusal Standartlar Enstitüsü (kod 1251) tarafından geliştirilen bir karakter görüntüleme standardıdır. ANSI standardı, her karakteri temsil etmek için yalnızca bir bayt kullanır ve bu nedenle noktalama işaretleri dahil maksimum 256 karakterle sınırlıdır. 32'den 126'ya kadar olan kodlar ASCII standardını takip eder. DOS'ta ASCII (kod 688), Windows'ta ANSI kullanıldı.

Edebiyat

    Arkhangelsky A.Ya. C++ Builder6'da Programlama. Ed. BİNOM, 2004.

    Arkhangelsky A.Ya. C++Builder6. Referans kılavuzu. Moskova, Ed. BİNOM, 2004.

    Kimmel P. Borland C++5 "BHV-St. Petersburg, 2001.

    Klimova L.M. C++ Pratik programlama. Tipik görevlerin çözümü. "KUDİTS-RESİM", M.2001.

    Görevler ve örneklerde Kultin N. С/С++. Petersburg "BHV-Petersburg", 2003.

    Pavlovskaya T.A. Üst düzey bir dilde C/C++ Programlama. Peter, Moskova-St. Petersburg-… 2005

    Pavlovskaya T.A., Shchupak Yu.A. C++. Nesne yönelimli programlama. Atölye. SPb., Peter, 2005.

    Podbelsky V.V. C++ dili Finans ve istatistik, Moskova, 2003.

    Polyakov A.Yu., Brusentsev V.A. Yöntemler ve algoritmalar bilgisayar grafikleri Visual C++'daki örneklerde. SPb BHI-Petersburg, 2003

    Savitch W. Language C++ nesne yönelimli programlama kursu. Williams Yayınevi. Moskova-St.Petersburg-Kiev, 2001

    Wellin S. C++'da Nasıl Programlanmaz. "Peter". Moskova-St.Petersburg-Nizhny Novgorod-Voronezh-Novosibirsk-Rostov-on-Don-Yekaterinburg-Samara-Kyiv-Kharkov-Minsk, 2004.

    Kalkan G. Eksiksiz referans C++'da. Ed. House "Williams" Moskova-St. Petersburg-Kyiv, 2003.

    Schildt G. Kendi kendine öğretmen C/C++. Petersburg, BHV-Petersburg, 2004.

    Schildt G. Programcı Kılavuzu C/C++ Ed. House "Williams" Moskova-St. Petersburg-Kyiv, 2003.

    Shimanovich.L. Örneklerde ve görevlerde С/С++. Minsk, Yeni bilgi, 2004.

    Stern V. C++'ın Temelleri. Yazılım mühendisliği yöntemleri. Ed. Lori.

Konsol uygulamasında neden Rusça harfler yerine çöp gösteriliyor?

ve doğru! Yerel düzenleyicinize yazdığınız programın metni görsel stüdyo, kod sayfası 1251'i ve konsol uygulamasındaki metin çıktısı kod sayfası 866'yı kullanıyor. Bu rezaletle ne yapmalı? Bildiğiniz gibi, herhangi bir çıkmazdan en az 3 çıkış vardır. Bunları sırayla ele alalım.

    1. Çıkış 1

Programın metnini herhangi bir konsol dosya yöneticisinin düzenleyicisine yazın.

Peki ya sözdizimi vurgulama, F1 kullanarak seçilen işlev hakkında yardım görüntüleme ve basit bir programcının kasvetli hayatını aydınlatan diğer küçük tılsımlar ne olacak? Hayır, bu bizim için bir seçenek değil.

    1. Çıkış 2

Konsol programı yazmaya sıfırdan başladıysanız işinize yarayabilir. Küçük şaheserimizi şöyle yeniden yazalım:

#include "stdafx.h"

#include "windows.h"

int main(int argc, char* argv)

char s="Herkese merhaba!";

printf("%s\n", s);

Buradaki anahtar kelime CharToOem'dir - dizgimizi istenen kod sayfasına dönüştürecek olan bu fonksiyondur. Programımızın çıktısı ile artık her şey yolunda.

Ancak bir sonraki soru ortaya çıkıyor - Borland C++ 3.1'de yazılmış eski 100.000 satırlık DOS programınızı bir Windows konsol uygulamasına yeniden derlemeniz gerekirse, böyle bir durumun her ikinci satırda meydana geldiği bir durumda ne yapmalısınız. Ama yine de onu MS derleyicisine göre ayarlamanız gerekiyor ve ayrıca birkaç kod parçasını optimize etmek istiyorsunuz ...

Burada şövalyenin hareketini kullanmak muhtemelen mantıklıdır.