Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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# 如何修复字典的编码<;char,char>;?_C#_String_Dictionary_Encoding - Fatal编程技术网

C# 如何修复字典的编码<;char,char>;?

C# 如何修复字典的编码<;char,char>;?,c#,string,dictionary,encoding,C#,String,Dictionary,Encoding,我创建了一个简单的字典,其中包含将本地字符替换为ascii字符的字符组合(ē->e),但它不起作用-当我在调试模式下看到这本字典时,我发现本地字符是错误的(我看到的是一些不同的字符,而不是我的本地字符(拉脱维亚语)) 我怀疑这与编码有关,尽管我不知道为什么会发生这种情况以及如何修复它 如果我制作一个简单的string text=“带有一些本地字符āēū”-如果我在调试模式下检查此项,编码似乎是正确的 以下是我的字典的实例: 以下是实例化后该字典中出现的值: 检查源代码是否按照进行编码。它必须使用

我创建了一个简单的
字典
,其中包含将本地字符替换为ascii字符的字符组合(ē->e),但它不起作用-当我在调试模式下看到这本字典时,我发现本地字符是错误的(我看到的是一些不同的字符,而不是我的本地字符(拉脱维亚语))

我怀疑这与编码有关,尽管我不知道为什么会发生这种情况以及如何修复它

如果我制作一个简单的
string text=“带有一些本地字符āēū”-如果我在调试模式下检查此项,编码似乎是正确的

以下是我的字典的实例:

以下是实例化后该字典中出现的值:

检查源代码是否按照进行编码。它必须使用允许的Unicode编码之一。始终允许使用UTF-8。(我想说是首选。)您的编辑器应该能够告诉您使用的是哪种代码,并且/或者允许您使用特定的编码重新保存它


在Visual Studio中,您可以使用file»Advanced save Options…(文件»高级保存选项…)以特定编码重新保存文件,然后使用file»save。

您的文件编码很可能是错误的。如果您想保持理智,请坚持使用unicode:)Ascii字符为0到256位,而unicode字符为16位。Ascii字符将根据计算机的国家/地区设置而有所不同。看起来您使用的是ascii码,字符因国家/地区设置而发生变化。Unicode字符不会根据计算机国家/地区设置而更改。如果字符串是ascii,则字典中的字符必须是ascii。如果字符串包含Unicode字符,则词典需要为Unicode。@jdweng ASCII字符为0到127。Unicode字符为0到0x10FFFF。Unicode有几种编码。C#
char
使用UTF-16,其中可能需要一个或两个UTF-16来编码Unicode码点。请检查您的源代码是否按照。它必须使用允许的Unicode编码之一。始终允许使用UTF-8。(我想说是首选。)您的编辑器应该能够告诉您使用的是哪种编码,并且/或者允许您使用特定的编码重新保存它。@TomBlodget Ok,所以我有两个源文件-在其中一个中-如果我实例化Dictionary对象-它有一个编码,但在另一个源文件中-它有另一个编码。。。(只需在这两个源文件之间复制粘贴代码…)我看到的两个源文件之间的唯一区别是,一个编码错误的文件具有
static
class。。。