Aracılığıyla paylaş


Unicode desteği

Unicode tek bir baytta temsil edilemeyen karakter kümeleri dahil olmak üzere tüm karakter kümelerini destekleyen bir belirtimdir.Uluslararası pazar için programlama yapıyorsanız Unicode ve çok baytlı karakter kümeleri (MBCSs)'nden birini kullanmayı veya ikisinin arasında anahtar kullanarak geçiş yapmak için programınızı etkinleştirmeyi düşünün.

Geniş karakter, 2 baytlık çok dilli bir karakter kodudur.Dünyada modern bilgi işlemde kullanılan teknik simgeler ve özel yayıncılık karakterleri dahil çoğu karakter, Unicode belirtimine göre geniş karakter olarak gösterilebilir.1 geniş karakter olarak temsil edilemeyen karakterler Unicode yedek özelliğine sahip Unicode çifti ile temsil edilir.Her bir geniş karakter her zaman 16 bitlik sabit bir boyutta temsil edildiği için, geniş karakterler uluslararası karakter kümeleriyle programlamayı basitleştirir.

Geniş karakter dizesi, bir wchar_t [ dizisi olarak temsil edilir ve bir wchar_t* işaretçisi tarafından gösterilir.Herhangi bir ASCII karakteri, başına L harfi eklenerek geniş bir karakter olarak gösterilebilir.Örneğin, L'\0' sonlandıran geniş (16 bit) BOŞ karakterdir.Benzer şekilde, herhangi bir ASCII dize sabit değeri, ASCII sabit değerinin önüne L harfi yerleştirilerek (L"Hello") geniş karakterli dize sabit değeri olarak temsil edilebilir.

Genellikle, geniş karakterler bellekte çok baytlı karakterlerden daha çok alanı kaplar, ancak daha hızlı işlenirler.Ayrıca, çok baytlı kodlamada yalnızca bir yerel temsil edilir, oysa dünyadaki tüm karakter kümeleri aynı anda Unicode gösterimi tarafından temsil edilir.

MFC çerçevesi veritabanı sınıfları dışında her yerde Unicode etkindir.(ODBC, Unicode etkin değildir.) MFC aşağıdaki tabloda gösterilen taşınabilir makroları kullanarak Unicode etkinleştirmesini gerçekleştirir.

MFC'deki Taşınabilir Veri Türleri

Taşınamaz veri türü

Bu makro tarafından değiştirildi

char

_TCHAR

char*, LPSTR (Win32 veri türü)

LPTSTR

const char*, LPCSTR (Win32 veri türü)

LPCTSTR

CString sınıfı taban olarak _TCHAR kullanır ve kolay dönüştürmeler için yapılandırıcılar ve işleçler sağlar.Çoğu Unicode dize işlemi, Windows ANSI karakter kümesini ele alırken kullanılan mantığın aynısı kullanılarak yazılabilir, ancak temel işlem birimi 8 bit bayt değil 16 bit karakterdir.Çok baytlı karakter kümesi (MBCSs) ile çalışmaktan farklı olarak, bir Unicode karakterine iki farklı baytmış gibi davranmanız gerekmez (ve gerekmemelidir).

Ne yapmak istiyorsunuz?

Ayrıca bkz.

Kavramlar

Metin ve Visual C++ dizeleri

wmain Kullanma Desteği