相关疑难解决方法(0)

cmd.exe使用什么编码/代码页?

当我在Windows中打开cmd.exe时,它使用的是什么编码?

如何查看当前使用的编码?它取决于我的区域设置还是有任何环境变量需要检查?

键入具有特定编码的文件时会发生什么?有时我会收到乱码(使用的编码不正确),有时候它会有所作为.但是,只要我不知道发生了什么,我就不相信任何事情.谁能解释一下?

windows encoding command-line

258
推荐指数
5
解决办法
23万
查看次数

C++ 11中字符串文字的Unicode编码

在一个相关的问题之后,我想问一下C++ 11中的新字符和字符串文字类型.看来我们现在有四种字符和五种字符串文字.角色类型:

char     a =  '\x30';         // character, no semantics
wchar_t  b = L'\xFFEF';       // wide character, no semantics
char16_t c = u'\u00F6';       // 16-bit, assumed UTF16?
char32_t d = U'\U0010FFFF';   // 32-bit, assumed UCS-4
Run Code Online (Sandbox Code Playgroud)

和字符串文字:

char     A[] =  "Hello\x0A";         // byte string, "narrow encoding"
wchar_t  B[] = L"Hell\xF6\x0A";      // wide string, impl-def'd encoding
char16_t C[] = u"Hell\u00F6";        // (1)
char32_t D[] = U"Hell\U000000F6\U0010FFFF"; // (2)
auto     E[] = u8"\u00F6\U0010FFFF"; // (3)
Run Code Online (Sandbox Code Playgroud)

问题是:\x/ \u/ \U …

c++ unicode utf string-literals c++11

76
推荐指数
1
解决办法
5万
查看次数

如何在c ++中打印希腊字母delta

我有一个基于控制台的小应用程序,它将解决物理方程.我试图询问用户是否想要在给定情况下找到ΔV,但我无法弄清楚如何将字母增量打印到控制台.这是我的代码:

cout << "Select what you would like to find:\n"
<< "1 - Acceleration" << endl
<< "2 - Initial Velocity" << endl
<< "3 - Final Velocity" << endl
<< "4 -  ?V" << "\n\n";
cin >> choice;
Run Code Online (Sandbox Code Playgroud)

这不会向控制台打印"ΔV"."Δ"甚至不在我的IDE(Dev-C++)中显示,而是显示为问号.如果有人知道如何将Δ打印到控制台,我将非常感谢您能给我的任何帮助.

提前致谢!

c++ unicode console non-ascii-characters c++11

17
推荐指数
1
解决办法
9320
查看次数

如何将像"\ u94b1"这样的字符串转换为C++中的一个真实字符?

我们知道在字符串文字中,"\ u94b1"将被转换为一个字符,在这种情况下是一个中文单词"钱".但是如果它在一个字符串中字面上是6个字符,说'\','u','9','4','b','1',我怎样才能手动将它转换为字符?

例如:

string s1;
string s2 = "\u94b1";
cin >> s1;            //here I input \u94b1
cout << s1 << endl;   //here output \u94b1
cout << s2 << endl;   //and here output ?
Run Code Online (Sandbox Code Playgroud)

我想转换s1所以也cout << s1 << endl;将输出?.

有什么建议吗?

c++ unicode

10
推荐指数
1
解决办法
293
查看次数

C++ unicode字符打印

我需要在Linux终端上打印一些unicode字符iostream.虽然发生了奇怪的事情.我写的时候:

cout << "\u2780";
Run Code Online (Sandbox Code Playgroud)

我明白了:?这几乎就是我想要的.但是,如果我写:

cout << '\u2780';
Run Code Online (Sandbox Code Playgroud)

我明白了:14851712.

问题是,我不知道在编译时要打印的确切字符.因此,我想做一些事情:

int x;
// some calculations...
cout << (char)('\u2780' + x);
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:?.使用wcoutwchar_t替代也不起作用.如何获得正确的打印?

从我在互联网上发现的内容来看,我直接从Debian Wheezy存储库使用g ++ 4.7.2编译器似乎很重要.

c++ unicode cout

8
推荐指数
1
解决办法
1万
查看次数

如何使用C++在linux终端中显示unicode字符?

我正在Linux环境下使用C++进行国际象棋游戏,我希望在bash终端中使用unicode字符显示这些内容.有没有办法用cout显示符号?

输出骑士的一个例子很好:♞= U + 265E.

c++ unicode terminal

6
推荐指数
1
解决办法
8455
查看次数

如何在 C++ 程序中使用下标数字?

我目前正在编写一个涉及数学的 C++ 程序。因此,我试图将某些对象表示为在其类的 wstring 成员变量中具有下标数字。然而,以任何容量存储这些字符的尝试都会迫使它们成为非下标对应物。相比之下,粘贴在代码中的字符的直接使用可以根据需要保留。以下是我试验过的几种情况:

setlocale(LC_ALL, "");
wchar_t txt = L'\u2080';
wcout << txt << endl;
myfile << txt << endl;
Run Code Online (Sandbox Code Playgroud)

这将向文件和控制台输出“0”。

setlocale(LC_ALL, "");
wcout << L"x??" << endl;
myfile << L"x??" << endl;
Run Code Online (Sandbox Code Playgroud)

这会将“x01”输出到文件和控制台。

setlocale(LC_ALL, "");
wcout << "x??" << endl;
myfile << "x??" << endl;
Run Code Online (Sandbox Code Playgroud)

这输出“xâ'?â'?” 到控制台,如果可能的话我想避免,还有“x??” 到我想要的文件。理想的程序状态是将属性输出到文件和控制台的状态,但如果不可能,那么最好将非下标字符打印到控制台。

我的代码打算将整数转换为其相应的下标。我如何尽可能顺利地操纵这些字符而不将它们转换回来?我怀疑字符编码起了一定作用,但我不知道如何将 Unicode 编码合并到我的程序中。

c++ unicode

6
推荐指数
1
解决办法
715
查看次数