民族

编码(ACSII unicod UTF-8)、QT输出中文乱码深入解析

30 8月 , 2018  

词法分析 — 识别单词,确认词类;比如int
i;知道int是一个品类,i是一个至关重要字与判断i的名是否合法
语法分析 — 识别短语和句型的语法属性;

文_木瓜牵玫瑰

 

小说以族群为背景,讲述了民国末代藏族土司部落的故里人情和故事,作家经过诗性而睿智的语言叙述康巴藏族土司制度于倒前之担惊受怕与结尾幻象。并就此,塑造了傻二公子、麦其土司、太太、桑吉卓玛、塔娜、翁波意西、大少爷、跛子管小、黄特派员等同样层层个性分明、形象丰满之方式人物。魔幻与实际的相互叙述,简洁而以充满智慧之人物对白,毋庸置疑是小说通篇最有趣之看点。情节交替中,作家恰如其分的点到为止,妙趣横生,又到底能够于人口认知无根本,直到最终会心一乐:

 在C语言下,locale设置也地方语言(C语言中只有全局locale)就足以健康输出了:

                                                                     
                 写于2015-6-07 晚9时

 

爱情是如出一辙管辖著作不可或缺的润滑剂,《尘埃落定》亦凡这样,小说里而生无数涩的柔情大胆勾勒。傻二少爷少年时期与桑吉卓玛那段青涩的,并无能够叫爱情之儿女的快,以及后来着乌黑颇多之傻二少爷与茸贡土司之女塔娜的爱情,两只官寨政治下的匹配注定不见面顺利,女方的一定量赖反,二少爷因爱的原,读来不但为人口五味杂陈、感叹不已。

 

故事为一个土司傻瓜儿子之理念,向我们连道来,仿佛在放一各智者讲述他尘封多年底往事记忆,亲切而发出代表入感,围绕着权及欲望,在土司部落的执政下,人性的愚昧和真理、善良同强暴,日益显山漏水。麦其土司的老谋深算、奸诈狡猾,太太的尊卑极化、傲慢残暴。大公子的自作聪明唯我是打,傻二公子的单善良,大智若愚,卓玛的热情奔放、不甘命运,塔娜的好看叛逆、轻率自负,跛子管小的英明靠谱,忠厚朴实,翁波意西底思维独立与炎热真诚。两只小厮和佣人们的赤胆忠心和逆来顺受等等,无不渲染着所有故事里的离合悲欢和喜乐。

字符集(Charset)和编码(Encoding)注意区别.如GBK,GB2312以及Unicode都既是字符集,也是编码方式,而UTF-8只是编码方式,并无是字符集.

土司对权利的纵欲,对有限个男不同情感微妙之浮动,热爱女人与战之深公子随着对土司职位的掌控和及白痴之间的兄弟情谊变化,太太在儿子失去土司逊位后针对权力失威的恐怖,土司家族中的尔虞我诈以及民族统治下对妻子之占,桑吉卓玛、侍女塔娜、银匠曲扎、行刑人等家奴们不可动摇的给奴隶命运和经,人性的肃穆、爱跟贪婪,在欲望之驱使下,变得所剩无几,一文不值。

其余注意点:

雅丰富一段时间,傻二丢爷睡觉时,第二上醒来,都见面遗忘自己是孰,身在何?于是他清醒来第一项事即是咨询自己及身边的人头这些题目。很多时分,他是匪晓得自己前途是设做什么的,也尚未呀打算,别人都以为他是白痴,但奇迹他开的事体却同时表现的老大聪明,他时时会预感到一些东西将要消失,新的物将要崛起。他莫思量做土司,却在哥之逼下,热爱那种土司独享的权柄。直到来一样上早晨,他鼓劲之语坐于身边的爱妻,知道自己套在碉堡里,要开呀,自己是鹏程之土司,要召开未来的麦琪土司,疼痛的爱情可以吃男人换得勇敢而伟岸,哪怕他是一个傻子。他是一个美妙之傻子,开辟了天边贸易市场,创建了新的镇子,美好的生存,应该是一个正确的后果。但因为世仇,他最终因为麦琪土司这个权利至上的身份,死在了别人刀下。

编译器把一个cpp编译为目标文件的时光,除了如当目标文件里描写副cpp里富含的多寡及代码,还要至少提供3只说明:未缓解符号表,导出符号表和地址重定向表。
勿缓解符号表提供了具有以拖欠编译单元里引用但是定义并无以本编译单元里之符号及其出现的地址。
导出符号表提供了本编译单元有定义,并且愿意提供被任何编译单元使用的符及其地址。
地方重定向表提供了本编译单元有对本人地址的援的笔录。

开卷是均等栽非常悦心的饱满享受。尤其是对此品读一论被丁流连忘返淋漓、欲罢不克的作品而言,能够激起你的大脑思维,如临其境、乐游其中的感觉。而刚,藏族作家阿来的立即本《尘埃落定》,就是这般平等按会抓住到你同一丁暴读了,意犹不老,浮想联翩,却以舍不得放下的修。因为热爱有加,我因为每天一节的快慢,花了一半独月之时光,读了这部小说。

3.生成**.o**对象文件

《尘埃落定》不仅仅是平等部描写少数民族乡土习俗、宗教及历史的优秀作品,在我看来而且是相同总理现实意义非常深刻的文学艺术。站于21世纪之现在,它本有极致多用我们寻思、领悟与上之地方。从文化而言,它是一个好之继承,增添了藏族断层文化为世界认知的一律有。从章程而言,它是一个充满诗意与灵性的作文方法,值得后人称颂和上。从活而言,它为精明的言语叙述蕴含了性格之软、善恶、丑美。

文化要点二:关于Unicode的认知(加深对编码的明亮)

傻二少爷似乎是以此青黄不接时代里之出类拔萃见证者,他又如是如果末代皇帝一样一个土司部族没落时代之悲剧形象。在土司家族畸形的生存环境里,淫威成长也同时载爱心,心地善良。在死去前夕,还不忘记念叨着如为土司的名义恢复所有佣工的自由身,给予他们生而为人应有之庄重。

 

相依为命的父亲问我:”告诉自己容易是啊?”

“就是骨头里满是泡沫。”这是同样词傻话,但智慧之爸爸听清楚了,他笑了,说:“你是傻瓜,是泡沫都见面磨灭。”

“它们不断冒出来。”

为一个内时要自己良心痛不是单长久之计。

塔娜说:“傻子,你无爱自了。”她这样说,好像从就是它们以容易自己,而未是自身当爱它们,这即是夫人,不要期待他们不因需要把作业颠倒过来。

设若是一个东西人人都惦记使,我也想如果,要是啊事物别人还不要,我耶就算非思使了。女人也是一样,哪怕它是全球最美妙之老伴,哪怕以后自己更为呈现不交这般美的妻。

cout << "hello world!" << endl; //ACSI 编码输出

wcout << L“hello world!” <<endl;// unicode 输出

及了马上等同替代,土司们以为温馨早已无事只是涉嫌,江山是先人打下的,官寨是祖先盖好之,规矩是祖先定好的。他们又看自己应当找点事干,吃喝淫乐玩女人,小动干戈的战斗,土司与土司之间,争抢掠地,为了使自己的民族更加强硬,他们种罂粟——鸦片,期待过年会十分赚一笔画,更加具有。可除了麦其土司,谁为未曾挣到分毫,还拿走了再也可怜的自然灾难。故事里的土司们,生活空虚,戏剧性的是她们让傻二丢爷聚集到齐以后来的小镇上如是在共度尘埃落定前最后的庆功宴,极度幻想,在汉人新建的妓院里最为淫乐,直到彼此为传上梅毒,乐此不彼,悻悻而归。他们像是于泛、却还要如是在公诉说着什么。土司社会制度无与伦比的权利游戏跟在状态,已让他俩锦衣玉食到忘我,一种满的无私。

2)测试代码:

因此,一首好之创作,永远离开不起作者对人性之软美丑独特关注同密切入微的分析。

程序运行,程序并无认识ANSI,UTF-8以及另外其他编码.系统只知处理你被她的字符的**其次前进制表示.**

父子情,手足爱,男女欢,人之内容的阴谋、冲突矛盾,却还于当时最后的人走茶凉,尘埃落定里由为美好与早期的各地。


由书被论述的生硬内容,在更了增长达到几年之问世商婉拒和退稿风波后,1998年3月,《尘埃落定》最终由人民文学出版社首印出版,小说出版后,在当时纯文学阅读低迷的条件下掀起强烈反响,获得各界好评。2000年,众评委为全票推选这部著作荣膺中国长篇小说原创作品高奖励——茅盾文学奖。自出版到今天,该书已给翻译成30几近独国家语言出版,印数达一百基本上万本。

UTF-16及UTF-32需要发配节序标志BOM(FEFF)解决大端小端问题.UTF-8没有字节序的题材(因为坐1单字节为单元).

知要点四: c++ 的cout 与
wcout**

代码生成 — 生成译文。

出口宽字节中文(详见知识要点四):例

优先处理器主要担负以下的几乎介乎

除却有和谐之数与二进制代码之外,还要至少提供2单说明:未缓解符号表和导出符号表,分别报告链接器自己得什么与力所能及提供什么。

在vs2017吃,用unicode编码方式,编译运行输出正常;原因我想生好掌握了,当次编译后保存的凡“中文”unicode二进制编码,而决定高出口时CodePage
(GBK 936)
这个CodePage就会见冲映射表去各个对许GBK中的中文字,再拓展输出;

cout << "中文" << endl;

qt的编程环境默认是utf-8编码格式(有关编码见下文知识要点一);

4)关于宽字节出口乱码的题目;

网上解决办法1.改动注册表CodePage 65001  经测试或乱码

**  Code Page(代码页)**:
1个字节前128单字符大家集合和ASCII一样,而后128个字符,根据不同体系所谓代码页来分各个语言不雷同之假名和符号.

 

输出则只要用wcout而未克是cout;关于宽字符详见;知而点二后续,**文化而点三**

UTF-8是关键!如果统一Unicode都因此2字节代表,英文字母觉得温馨不怕非常吃亏(高字节始终是0字节).UTF-8提供了同一种灵活的解决办法:以单字节(8bit)作为编码单元,变长多字节编码方式.如ASCII字母继续应用1字节储存,中文汉字用3字节储存,其他最多可直6许节.

4.链接

 

  Unicode: 学名为”Universal Multiple-Octet
Coded Character Set
“,简称”UCS“.UCS可以看做是”Unicode Character
Set”的缩写.

1.预处理 生成.i文件

 也有人用而下语句的,但当下会改wcout的拥有locale设置,比如数字“1234”会输出为“1,234”。

 

 

**  DBCS(对字节字符集)**:
对于亚洲邦,后128独字符依然束手无策包含大量之象形文字,DBCS正是为之之一个化解方案.DBCS由一个或者少独字节表示一个字符,这证明DBCS并不一定是片只字节,对于如英文字母,是奔ASCII兼容的,依然由1独字节表示,而对此如果中文则用2只字节表示.英文和国文好统一地处理,而分是否也中文编码的道是2只字节中的高字节的首各吗1,就得检查后紧跟着的挺字节,2单字节一起说啊1独字符.GB2312,GBK到GB18030都属于DBCS.另外,简体中文Windows下之ANSI编码通常是指GBK(代码页936).

当输出双许节编码到控制台时,cout输出的以凡地方而不用内容这时就要用到wcout;

UTF-8: 0xe4b8ad 0xe69687

 

===============================================================================

_T、_TEXT、TEXT 三者效果同样

C++的先期处理是依赖以C++程序源代码被编译之前,由预处理器对C++程序源代码进行的拍卖。这个进程并无对准程序的源代码进行解析。

DBCS准确说,应该是MBCS(Multi-Byte Chactacter
System, 多配节字符系统).

由于汇编程序生成的靶子文件并无能够立即就于实践,其中可能还有不少从未缓解之题材。例如,某个源文件被之函数可能引用了另外一个来自文件被定义之某符号(如变量或者函数调用等);在先后中或许调用了某库文件被之函数,等等。所有的这些题材,都需经过链接程序的处理着会得化解。

Unicode: 0x4e2d 0x6587

3)经于qt5.8中测试乱码;

L”……”: L是意味字符串资源转为宽字符的保存(通常转为unicode),却未必是unicode字符,这与编译器实现相关。

1、cout和wcout

析Unicode和UTF-8 

1)在简体中文Windows下的控制台显示环境是ANSI编码(代码页936,
GBK),先明了及时点.

 在C++下,cout可以一直出口中文,但对此wcout却很。对于wcout,需要用那locale设为本土语言才能够出口中文:

解析:参见(下文知识要一,知识而点二)不难察觉UTF-8只是千篇一律种编码实行方案,并无是事实上编码;再参见(文化要点五),程序运行是能够过最后编译完成的二进制码输出

第一区别,MinGW看到底是”0xe4b8ad”和”0xe69687″(gcc默认UTF-8).注意,用MinGW编译的源文件中生中文宽字符必须保留也UTF-8编码.

代码优化 — 修辞、文本编辑;

 setlocale(LC_CTYPE, “”);

2.删减注释

知而点三:
L”……”,
_T(), _TEXT
,TEXT()

关于  “中””文”
的3种植编码二进制内容:

文化而点五:编译连接过程

** 

tchar.h是运行时之腔文件,_T、_TEXT 根据_UNICODE来确定宏
winnt.h是Win的腔文件依据,TEXT 根据UNICODE 来确定宏

ASCII:
早期的字符集,7员,128单字符,包括大小写a-z字母,0-9数字和有控制字符.

UTF-16UTF-32独家代表坐16各类以及32各项吗一个Unicode单元进行编码,其实UTF-16对承诺就是UCS-2,UTF-32对承诺就是UCS-4(UCS-2及UCS-4是老的说法,应摒弃).
另外,通常说的Unicode就是凭借UTF-16.

unicode以windows api中之利用
    实际上,常提到的Win32
API的名目并无是其的真人真事名称。这些名仅仅是一对大幅度,你可以PSDK的腔文件中找到这些宏对用的函数名称。所以,如果PSDK的文档提到一个函数,如CreateFile,开发人员应该发现及其就是一个大。它的实际名称是CreateFileA和CreateFileW。是的,它表示了“两独”函数名,而无是一个,是暨一个函数在不同Win32函数的蝇头独例外之版。以’A’结尾的函数接受ANSI字符串(char *),即Unicode字符串(wchar_t
*)而在vs中可以为此WCHAR宏代替,即wchar_ts型字符串。两种版本的函数都当模块kernel32.dll中落实,如果您的编程环境是Unicode则,则宏CreateFile在编译是会叫CreateFileW代替,否则用CreateFileA代替。

#include <iostream>
using namespace std;

int main()
{
    wcout << L"中文" << endl;
    return 0;
}

PSDK的字符串解决方案:TCHARs
   
为了避免吗不同之windows操作系统开发不同版本的PSDK,微软制订了一个联合的字符串类型TCHARs。TCHAR以及其他的应和的宏在头文件WinNT.h中出定义。程序员在次中无欲为下char还是wchar_t而纠结,只待利用宏TCHAR就可了。根据Unicode环境是否在,编译器会活动进行相应的换。同样道理,程序员不需要呢下’A’还是’W’型Win32
API函数纠结。

可能原因:我系统遭到cmd控制台并无支持UTF-8编码方式(有时机以win10着测试后更做补充)

cout << "hello world!" << endl; //ACSI 编码输出

cout << L“hello world!” <<endl;// unicode 输出

DBCS很非常问题在字符串的字符数不克透过字节数来支配,如”中文abc”,字符数是5,而字节数是7.对此用++或–运算符来所有历字符串的程序员来说,这简直就是是噩梦!

#include <iostream>
using namespace std;

int main()
{
    char a[] = "中文";
    cout << a << endl;
    return 0;
}

3.处理预处理指令,如#include,#ifdef


续篇:

文化要一:编码**

  UTF-8,UTF-16,UTF-32: “Unicode transformation
format”(UTF)
 ,即Unicode的传格式.Unicode规定了怎么编码字符,而UTF规定怎么用一个Unicode字符单元映射到配节序来传或保存.

在结尾之靶子文件被

解决办法2:通过(知识点一,二,
五),总结,当要在控制高进行汉语输出时,编码方式应该保留也unicode,或ACSI(GBK);

 wcout.imbue(locale(“”));

1.宏底更迭

语义分析 — 确认单词、短语和句型的语义特征;

对此比较前期的系均用ACSI编码,而当最新系统遭到虽然还合并啊unicode编码(如:手机系统)

 wcout.imbue(locale(locale(),””,LC_CTYPE));

否是同样栽字符集/字符编码方法,它统一用唯一的字符集来含有这个星球上大部分语言的题系统.UCS向ASCII兼容(即前128只字符是千篇一律的),但并无般配DBCS,因为其他字符在UCS中给再次编码(重新部署职位).

总结:

  • 25000-25FFF –   26000-26FFF   - 27000-27FFF – 28000-28FFF –
    29000-29FFF – 2A000-2AFFF – 2F000-2FFFF
      总共增加了16只辅助平面,由原本的65536单编码扩展及接近100万编码。
    三、 兼容codepage
      那么既统一了编码,如何配合原先各的仿编码为?
      这个时节即便待codepage了。
      什么是codepage?codepage就是各国的文字编码和Unicode之间的映射表。
      比如简体中文和Unicode的映射表就是CP936,点这里查看官的映射表。
      以下是几乎独常因此之codepage,相应的改点的地址之数字即可。
      codepage=936 简体中文GBK
      codepage=950 繁体中文BIG5
      codepage=437 美国/加拿大英语
      codepage=932 日文
      codepage=949 韩文
      codepage=866 俄文
      codepage=65001 unicode UFT-8
    最终一个65001,据个人知道,应该一味是一个虚构的映射表,实际只是一个算法而已。
    自936遭自由取一执,例如:
    0x9993 0x6ABD #CJK UNIFIED IDEOGRAPH
    面前的编码是GBK的编码,后面的是Unicode。
    经过查看就张表,就会大概的实现GBK和Unicode之间的变。
    四、UTF-8
      现在理解了Unicode,那么UTF-8又是呀吗?又怎会产出UTF-8呢?
      ASCII转换成UCS-2,只是在编码前插入一个0x0。用这些编码,会席卷有控制符,比如
    ” 或
    ‘/’,这在UNIX和一部分C函数中,将会晤产生严重错误。因此可以一定,UCS-2不吻合作为Unicode的外表编码。
      因此,才出生了UTF-8。那么UTF-8是什么编码的?又是哪缓解UCS-2的题材啊?
    例:
    E4 BD A0        11100100 10111101
    10100000
    这是“你”字的UTF-8编码
    4F 60          01001111
    01100000
    这是“你”的Unicode编码
    至于汉字按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000
    将除了x以外的数字拼接在一道,就改成“你”的Unicode编码了。
    留意UTF-8的最为前头3个1,表示所有UTF-8串是出于3独字节构成的。
    由此UTF-8编码之后,再也不会出现敏感字符了,因为高位老为1。
    以下是Unicode和UTF-8之间的转移关系表:
    U-00000000 – U-0000007F: 0xxxxxxx
    U-00000080 – U-000007FF: 110xxxxx 10xxxxxx
    U-00000800 – U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
    U-00010000 – U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    U-00200000 – U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    U-04000000 – U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    10xxxxxx、
    Unicode编码转换到UTF-8,针对汉语,简单的管Unicode字节流套到x中即成为UTF-8了。

改为:

汇编过程实际上指把汇编语言代码翻译成靶子机器指令的历程。

此的预处理器(preprocessor)是恃真的的编译开始前由于编译器调用的一个独立程序。

辩驳剖析:CodePage(GBK
936)找不交投,那么将控制台换成UTF-8;那么然先保存之,UTF-8国语,再经过UTF-8对承诺的汉字码,不就是会出口汉字;理论类中,但当自家的win7
64位中文系统上,qt5.8,vs2017咸未果;

1.
qt输出中文乱码原因剖析

 在qt5.8(MinGW)环境受到,以上并无实用,目前还未曾找到出口中文的计,未完待续;

倘若以qt5.8(MinGW)中,输出则是乱码;因为qt5.8默认的编码方式是UTF-8;当次编译后保存之是“中文”UTF-8次上制编码,而决定高出口时CodePage
(GBK 936)
这个CodePage就会因映射表去挨家挨户对诺GBK中的中文字,好像哪里不对,好了,问题虽发生当这时候了,CodePage是每及unicode的映射表,并无是和UTF-8的(知要点二CodePage),在qt5.8(MinGW)中,原程被编译二进制文件,保存下去的“中文”地址是,UTF-8编码,而映射表是在unicode中查找内容,再拓展输出,自然就是是乱码;

_T(” ……”) 是一个适配的宏     #ifdef _UNICODE(当系统环境是unicod下)
_T就是L   而当系统环境是ACSI 
_T就是ANSI的。(有有益早期windows系编程文件的移植,达到新老体系相互)

  扩展ASCII: 1独字节8各类,只所以7各项不合理.于是第8各用于扩大ASCII字符集,这样就是以基本上了128单字符.于是用在后128独字符来扩大表示一旦拉丁字母,希腊字母等特殊符号.但问题是欧洲那无异宗国家多互动都持有不平等之异字母,一起塞进后128只家喻户晓不够,于是代码页出现了.

Linux下The GUN
C Library(从glibc
2.2开端)中宽字符wchar_t是以32各项的Unicode(USC-4)表示.如松字符”中”字为
“0x00004e2d”.而Windows下的CRT使用宽字符仍是16各之.

ANSI(GBK): 0xd6d0  0xcec4

以vs2017遭到,输出中文,为空;

UCS有个别栽格式:UCS-2和UCS-4.前者用2只字节(16号)编码,后者用4单字节(实际上只是所以31个)编码.USC-4前2个字节都为0的有的号称BMP(基本多语言平面),就是说BMP去丢前2独零字节就是UCS-2.目前之UCS-4规范着尚没其他字符被分配在BMP之外.(说白了,USC-4就是吗当16各类之USC-2都深受分配完毕时候召开还开扩展用的,现在尚无下)

 2.编译和优化 生成汇编.s原文件

同、首先说明一下现常用之组成部分编码方案:
1.
在华,大陆最常用之就是GBK18030编码,除此之外还有GBK,GB2312,这几只编码的涉是这样的。
极端早制定的汉字编码是GB2312,包括6763独汉字和682个其他符号
95年还修订了编码,命名GBK1.0,共圈定了21886独记。
从此还要推出了GBK18030编码,共录取了27484独汉字,同时还收录了藏文、蒙文、维吾尔文等要的少数民族文字,现在WINDOWS平台必待支持GBK18030编码。
据GBK18030、GBK、GB2312的次第,3栽编码是向下兼容,同一个中国字在三只编码方案中凡是平等的编码。
2.  台湾,香港顶地运的是BIG5编码
3.  日本:SJIS编码
二、Unicode
  如果管各种文字编码形容为四方之白话,那么Unicode就是社会风气各国合作开发的同等种植语言。
  于这种语言环境下,不见面再次闹语言的编码冲突,在同屏下,可以显得其他语言的情,这虽是Unicode的最好老补。
  那么Unicode是何等编码的吧?其实非常简单。
  就是将世界上富有的文字用2独字节统一开展编码。可能而会问,2独字节最多克代表65536只编码,够用为?
  韩国同日本底大部汉字都是起中国传播过去的,字型是了一致的。
  比如:“文”字,GBK和SJIS中都是与一个字,只是编码不同而已。
  那样,像这样合编码,2单字节就已够容纳世界上富有的语言的多数字了。
UCS-2 与UCS-4
  Unicode的学名是”Universal Multiple-Octet Coded Character
Set”,简称为UCS。
  现在于是的凡UCS-2,即2只字节编码,而UCS-4是为了防备以来2只字节不足够用才开的。UCS-2为叫基本多文种平面。
  UCS-2转换到UCS-4只是大概的以前头加2个字节0。
  UCS-4则第一用以保存辅助平面,例如Unicode 4.0遭遇的第二拉平面
  20000-20FFF – 21000-21FFF – 22000-22FFF – 23000-23FFF – 24000-24FFF

倘欲同时利用就3只特大,则要同时定义 UNICODE 和 _UNICODE
VS2010后头的版本中
,设置:项目–属性–配置属性–常规–字符集–使用Unicode字符集,
那么编译器命令选项中真正同时在了_UNICODE和UNICODE。

, , , , , , ,


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图