Ben doğru yerel nedir Windows üzerinde aşağıdaki çalışmaları, olmak için ve nasıl aslında mevcut olduğunu tespit ediyorum: Does this code work universaly, or is it just my system?En_US.UTF-8 yerel ayarı için Windows eşdeğeri nedir?
cevap
Temelde, şans dışında şunlardır: http://www.siao2.com/2007/01/03/1392379.aspx
MSDN Başına, bu "english_us.65001" adlı olacaktır. Ancak, kod sayfası 65001, Windows'ta biraz kesikli.
Eğer m lütfen yorum Can "biraz lapa lapa" cevher? –
@Let_Me_Be: Bunu daha iyi özetleyemiyorum http://www.google.com/search?q=site%3Ablogs.msdn.com+65001 – MSalters
@MSalters Üzgünüm, ancak hiçbir şey bulamıyorum Hem güncel hem de detaylı. Okuduğum kısa blog gönderilerinden anladığım şey, Windows'un hiç UTF-8 desteği olmadığını (ki bu hiç bir anlam ifade etmiyor). –
adlı yerel ayarlar için iyi bir destek olmamasına rağmen, Visual Studio 2010, UTF-8 dönüşüm C++ 11 gerektirdiği yönleriyle dahil yapar: UCS2 için std::codecvt_utf8
ve UTF-16 için std::codecvt_utf8_utf16
:
#include <fstream>
#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
void prepare_file()
{
// UTF-8 data
char utf8[] = {'\x7a', // latin small letter 'z' U+007a
'\xe6','\xb0','\xb4', // CJK ideograph "water" U+6c34
'\xf0','\x9d','\x84','\x8b'}; // musical sign segno U+1d10b
std::ofstream fout("text.txt");
fout.write(utf8, sizeof utf8);
}
void test_file_utf16()
{
std::wifstream fin("text.txt");
fin.imbue(std::locale(fin.getloc(), new std::codecvt_utf8_utf16<wchar_t>));
std::cout << "Read from file using UTF-8/UTF-16 codecvt\n";
for(wchar_t c; fin >> c;)
std::cout << std::hex << std::showbase << c << '\n';
}
void test_file_ucs2()
{
std::wifstream fin("text.txt");
fin.imbue(std::locale(fin.getloc(), new std::codecvt_utf8<wchar_t>));
std::cout << "Read from file using UTF-8/UCS2 codecvt\n";
for(wchar_t c; fin >> c;)
std::cout << std::hex << std::showbase << c << '\n';
}
int main()
{
prepare_file();
test_file_utf16();
test_file_ucs2();
}
bu çıkışlar, benim Visual Studio 2010 EE SP1
Read from file using UTF-8/UTF-16 codecvt
0x7a
0x6c34
0xd834
0xdd0b
Read from file using UTF-8/UCS2 codecvt
0x7a
0x6c34
0xd10b
Press any key to continue . . .
- 1. Mac için CodeKit - Windows eşdeğeri?
- 2. MsgWaitForMultipleObjects C# eşdeğeri nedir?
- 3. Arabirim için "hasOwnProperty()" eşdeğeri nedir?
- 4. windows inet_aton eşdeğeri
- 5. JMX'in .NET eşdeğeri nedir?
- 6. CoreFoundation'taki NSHomeDirectory() eşdeğeri nedir?
- 7. DB2 için Varchar (Max) eşdeğeri nedir? DB2
- 8. OS X için UIGraphicsGetCurrentContext() eşdeğeri nedir?
- 9. MySQL TEXT için java.sql.Types eşdeğeri nedir?
- 10. Excel VBA'da "! =" Eşdeğeri nedir?
- 11. TSQL'de String.Join eşdeğeri nedir?
- 12. ControlPaint.Light'a WPF eşdeğeri nedir?
- 13. CompletableFuture'ın eşdeğeri flatMap nedir?
- 14. Linux'un Windows eşdeğeri komutuna eşdeğerdir?
- 15. Yerel olarak (yerel olarak değil) tohum ayarı R
- 16. R'deki yerel ayarı değiştirmek ve değiştirmek için güvenilir bir yol nedir?
- 17. Fransız yerel ayarı için ParseException ile birlikte SImpleDateFormat
- 18. selenium webdriver kullanarak test tarayıcı yerel ayarı
- 19. Test: yerel ayarı ilk alt alan
- 20. Biçimlendirilmiş bir tarihin yerel ayarı nasıl değiştirilir?
- 21. Perlbrew'ın bir Python eşdeğeri nedir?
- 22. Silverlight'ın FindElementsInHostCoordinates WPF'de eşdeğeri nedir?
- 23. NETFX_CORE, Windows 8 için ise, Windows Phone 8 için nedir?
- 24. Python'un os.walk'unun Ruby eşdeğeri nedir?
- 25. Preg_quote() 'nin Ruby eşdeğeri nedir?
- 26. C# Mathf.pingpong'un Arduino eşdeğeri nedir?
- 27. Java 8: "UseSplitVerifier" eşdeğeri nedir?
- 28. Spark List'te itemChangeEffect eşdeğeri nedir?
- 29. Python'un "perl -V" eşdeğeri nedir?
- 30. Java'da StringBuffer'ın .NET eşdeğeri nedir?
Hmm, ama Windows uygulamaları nasıl yazıyor? Microsoft) desteklenen bir kodlama değilse UTF-8 ile çalışır? –
Windows kendi API'sı için UTF-16 kullanır, böylece herhangi bir UTF-8 metni, Windows API'sına geçmeden önce UTF-16'ya dönüştürülür. UTF-8'i iyi bir şekilde tanıyın –
@Nemanja Uh? Peki, blog yazısı ne hakkında konuşuyor? –