Encoding 什么是字符编码?
我有几个字符不能正确识别。 像这样的人物: º á ó (etc..) º á ó (等等) 这意味着字符编码不是utf-8,对吗? 那么,你能告诉我它是什么字符编码吗Encoding 什么是字符编码?,encoding,character-encoding,Encoding,Character Encoding,我有几个字符不能正确识别。 像这样的人物: º á ó (etc..) º á ó (等等) 这意味着字符编码不是utf-8,对吗? 那么,你能告诉我它是什么字符编码吗 有两种编码:一种用于编码字符串,另一种用于解码字符串。它们必须相同才能得到预期的结果。如果它们不同,则某些字符将显示不正确。我们可以试着猜测你是否发布了实际和预期的结果。我们没有足够的信息来真正回答这个问题,但要点是:你不应该只是猜测。您需要找出数据来自何处,并找出编码是什么。你没有告诉我们任何关于数据源的事情,所以我们完全不知
有两种编码:一种用于编码字符串,另一种用于解码字符串。它们必须相同才能得到预期的结果。如果它们不同,则某些字符将显示不正确。我们可以试着猜测你是否发布了实际和预期的结果。我们没有足够的信息来真正回答这个问题,但要点是:你不应该只是猜测。您需要找出数据来自何处,并找出编码是什么。你没有告诉我们任何关于数据源的事情,所以我们完全不知道。如果这些文件是用记事本之类的东西保存的,您可能需要尝试
编码
如果您知道字符的含义以及它们在二进制中的表示方式,那么应该建议使用编码。。。但是,我们需要知道更多的信息。我写了两个方法来缩小这种情况的可能性
static void Main(string[] args)
{
Encoding[] matches = FindEncodingTable('Ÿ');
Encoding[] enc2 = FindEncodingTable(159, 'Ÿ');
}
// Locates all Encodings with the specified Character and position
// "CharacterPosition": Decimal position of the character on the unknown encoding table. E.G. 159 on the extended ASCII table
//"character": The character to locate in the encoding table. E.G. 'Ÿ' on the extended ASCII table
static Encoding[] FindEncodingTable(int CharacterPosition, char character)
{
List matches = new List();
byte myByte = (byte)CharacterPosition;
byte[] bytes = { myByte };
foreach (EncodingInfo encInfo in Encoding.GetEncodings())
{
Encoding thisEnc = Encoding.GetEncoding(encInfo.CodePage);
char[] chars = thisEnc.GetChars(bytes);
if (chars[0] == character)
{
matches.Add(thisEnc);
break;
}
}
return matches.ToArray();
}
// Locates all Encodings that contain the specified character
static Encoding[] FindEncodingTable(char character)
{
List matches = new List();
foreach (EncodingInfo encInfo in Encoding.GetEncodings())
{
Encoding thisEnc = Encoding.GetEncoding(encInfo.CodePage);
char[] chars = { character };
byte[] temp = thisEnc.GetBytes(chars);
if (temp != null)
matches.Add(thisEnc);
}
return matches.ToArray();
}
编码是修改某些现有内容的形式;因此,允许通过所需的目标协议对其进行解析
浏览互联网时可以看到一个编码示例:
您访问的URL:www.example.com可能具有通过URL地址运行自定义搜索的搜索功能:
www.example.com?search=...
URL上的以下变量需要URL编码。如果你要写:
www.example.com?search=cat food cheap
浏览器无法理解您的请求,因为您使用了无效字符“”(空白)
若要更正此编码错误,应将“”与“%20”交换以形成此URL:
www.example.com?search=cat%20food%20cheap
不同的系统使用不同形式的编码,在本例中,我对URL使用了标准十六进制编码。在其他应用程序和实例中,您可能会发现需要使用其他类型的编码
祝你好运 我只能举个例子。。因为我也不知道。它们来自一个名为Kondor的程序,我无法访问它的源代码@aF:这就是为什么我首先写了下面答案中给出的方法。有时,启发式算法是唯一实用的解决方案。