Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Unicode呈现(更新)_C++_Unicode - Fatal编程技术网

C++ Unicode呈现(更新)

C++ Unicode呈现(更新),c++,unicode,C++,Unicode,几天前,当我还在编写代码时,我发布了我的问题。我将重申我的问题,以便大家都清楚 目标:使用循环打印所有可用的Unicode 问:如果它们硬编码为字符串而不是变量,为什么我只能将它们打印为符号 输出: U000000 U000001 U000002 ... U000017 U000018 我希望你编辑了它,而不是重新发布。下一次我将确保更新帖子而不是重新发布。可能的重复我已经删除了旧帖子,因为很多ppl不理解我的要求。你正在生成输出中看到的表单字符串。您的终端不会对该形式的字符串执行任

几天前,当我还在编写代码时,我发布了我的问题。我将重申我的问题,以便大家都清楚

目标:使用循环打印所有可用的Unicode

问:如果它们硬编码为字符串而不是变量,为什么我只能将它们打印为符号

输出:

U000000

U000001

U000002

...

U000017

U000018

我希望你编辑了它,而不是重新发布。下一次我将确保更新帖子而不是重新发布。可能的重复我已经删除了旧帖子,因为很多ppl不理解我的要求。你正在生成输出中看到的表单字符串。您的终端不会对该形式的字符串执行任何特殊操作。在嵌入的微符号μ的情况下,最有可能的C++执行字符集是Uni-8在*NIX上通用,即使它与标准库的字符分类函数冲突。在这种情况下,字符在可执行文件中表示为两个字节,值为0xC2 0xB5,UTF-8编码为μ。当输出到需要UTF-8的终端时,这两个字节以μ字符表示。
    #include <iostream>
    #include <cmath>
    using namespace std;
    const int HexBase=16;
    const int HexMax=15;
    const int UniCharMaxPrint=1000;
    const int ASCCIAlphaCapBase=48;

    int main() {

        int DecNum = 0;
        int sizeHex= 3;

        for (int j=0; j < UniCharMaxPrint; j++)//prints 100 unviersal Chars
        {
            int DecNumCopy = DecNum;
            int resultDiv =0;
            string HexChar=" ";
            string HexNum ="X";
            string UniNum ="u";
            string BackSlash = "\\";
            string full="HI ";
            for (int i = sizeHex; i >=0; i--)
            {

                //Dec calcultion
                resultDiv = (DecNumCopy/(int)(pow(HexBase,i)));
                DecNumCopy = DecNumCopy - ((int)(pow(HexBase,i)) * resultDiv);
                if ((i==0) && (resultDiv>HexMax)){cout <<"Error # is Too large"<<endl;}//Check if the number entered is big or not

                //Get the equivalente Hex charcter
                if ((resultDiv >= 0)&&(resultDiv <= 9))
                { HexChar = ASCCIAlphaCapBase + resultDiv;}
                else if ((resultDiv >= 10)&&(resultDiv <= 15))
                {   switch (resultDiv)
                    {   case 10 : {HexChar='a'; break;};
                        case 11 : {HexChar='b'; break;};
                        case 12 : {HexChar='c'; break;};
                        case 13 : {HexChar='d'; break;};
                        case 14 : {HexChar='e'; break;};
                        case 15 : {HexChar='f'; break;};
                    }
                }
                else {HexChar='*';};


                //if(i==sizeHex){full.append(UniNum);};


                //Add to the result string
                //HexNum.append(HexChar);
                UniNum.append(HexChar);
                full = BackSlash+UniNum;
            }//endfor
            DecNum++;
            cout<< full << endl;
        }
        return 0;
    }