无法解析unicode字符
Unable to parse the unicode character
我正在尝试使用 xml reader 读取 xml 文件。我创建了一个字典来存储 mime 类型及其相应的扩展名。我以这种格式存储了 mime 类型。 <MimeToExtension MimeType="image/x‑portable‑bitmap" Extension=".pbm" />
.
当我尝试使用键 "image/x‑portable‑bitmap"
从字典中获取值时。它没有 return 任何价值。因为"image/x-portable-bitmap"
被保存为
-
字符改为方括号。我该如何解决这个问题?
FileStream filestream = File.OpenRead(mimeTypeToExtension);
using (XmlReader reader = XmlReader.Create(filestream))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.HasAttributes && reader.AttributeCount == 2)
{
string extension = reader.GetAttribute(0);
string mimeType = reader.GetAttribute(1);
if (!string.IsNullOrEmpty(mimeType) && !string.IsNullOrEmpty(extension) &&
!fileTypes.ContainsKey(extension))
fileTypes.Add(extension, mimeType);
}
}
}
}
那是因为您很可能从互联网上的某个地方复制并粘贴了 mime 类型,并弄错了连字符。
您的连字符是 不间断连字符 (Unicode 0x2011)。您需要 常规 连字符 (Unicode 0x2d)。只需手动替换代码中的所有连字符或复制此代码:
"image/x-portable-bitmap"
复制时一定要小心code/text/etc。来自网络。引号也经常出现此问题,因为大多数 CMS 不考虑程序员的需求,只是替换一些字符以使其成为 "look better" 或避免格式问题。
我正在尝试使用 xml reader 读取 xml 文件。我创建了一个字典来存储 mime 类型及其相应的扩展名。我以这种格式存储了 mime 类型。 <MimeToExtension MimeType="image/x‑portable‑bitmap" Extension=".pbm" />
.
当我尝试使用键 "image/x‑portable‑bitmap"
从字典中获取值时。它没有 return 任何价值。因为"image/x-portable-bitmap"
被保存为
-
字符改为方括号。我该如何解决这个问题?
FileStream filestream = File.OpenRead(mimeTypeToExtension);
using (XmlReader reader = XmlReader.Create(filestream))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.HasAttributes && reader.AttributeCount == 2)
{
string extension = reader.GetAttribute(0);
string mimeType = reader.GetAttribute(1);
if (!string.IsNullOrEmpty(mimeType) && !string.IsNullOrEmpty(extension) &&
!fileTypes.ContainsKey(extension))
fileTypes.Add(extension, mimeType);
}
}
}
}
那是因为您很可能从互联网上的某个地方复制并粘贴了 mime 类型,并弄错了连字符。
您的连字符是 不间断连字符 (Unicode 0x2011)。您需要 常规 连字符 (Unicode 0x2d)。只需手动替换代码中的所有连字符或复制此代码:
"image/x-portable-bitmap"
复制时一定要小心code/text/etc。来自网络。引号也经常出现此问题,因为大多数 CMS 不考虑程序员的需求,只是替换一些字符以使其成为 "look better" 或避免格式问题。