Giriş
u8 literal utf-8 içindir.
Döndürdüğü Tip
char* veya char8_t* döndürür.
Örnek
Şu kod string literal'ı std:string'e atamaya çalıştığı için derlenmez
u8 bir macro olarak tanımlı olabilir. Şöyle yaparız.
utf8 string literal'ları Linux'ta ekrana basmakta sorun yok ancak Windows'ta sorun çıkıyor
Örnek
Şöyle yaparız.
u8 literal utf-8 içindir.
Döndürdüğü Tip
char* veya char8_t* döndürür.
Örnek
Şu kod string literal'ı std:string'e atamaya çalıştığı için derlenmez
std::string myString = u8"●";
Şöyle yaparız.const std::u8string str = u8"●";
Örneku8 bir macro olarak tanımlı olabilir. Şöyle yaparız.
#define u8 "abc"
const char *s = u8"def"; // Previously "abcdef", now "def"
Örnekutf8 string literal'ları Linux'ta ekrana basmakta sorun yok ancak Windows'ta sorun çıkıyor
std::string test = u8"Greek: αβγδ; German: Übergrößenträger";
std::cout << test;
Şöyle yaparız.const char *c = u8"£";
Şöyle yaparız.std::cout << u8"I'm wrong.";
Örnek - \u
Açıklaması şöyle.\u is not for UTF-16 or any other encoding. Escape sequences like \u and \U are encoding-agnostic. They only specify the code point.Yani \u ile codepoint belirtilir. Şöyle yaparız.
const char *c = u8"\u00A3"; // "£"
Şöyle yaparız.cout << u8"\u0061\u0928\u093F\u4E9C\U00010083" << endl;
Örnek - \x
Bu kullanımda direkt byte'ları veriyoruz. Şöyle yaparız. Bu durumda u8 kullanmanın ne anlamı var bilmiyorum.
Eğer u8 yoksa, utf8 byte'ları \x yani hexadecimal olarak teker teker yazarız.Bu kullanımda direkt byte'ları veriyoruz. Şöyle yaparız. Bu durumda u8 kullanmanın ne anlamı var bilmiyorum.
const char* utf8string = u8"\xF0\x9F\x98\x81";
Diğer
Örnek
Şöyle yaparız.
std::string str="\xc2\xb1";
std::cout << str;
Çıktı olarak şunu alırız.±
Hiç yorum yok:
Yorum Gönder