【发布时间】:2012-09-16 14:31:34
【问题描述】:
我正在开发一个应用程序,我想在其中对西班牙语文本进行编码。 但问题是,它没有编码特殊字符,如 á, é, í, ó, ú, ü,Á, É, Í, Ó, Ú, Ü,Ñ,ñ . 我该怎么做?我想编码-解码西班牙语文本。
【问题讨论】:
标签: c# encoding decoding non-ascii-characters
我正在开发一个应用程序,我想在其中对西班牙语文本进行编码。 但问题是,它没有编码特殊字符,如 á, é, í, ó, ú, ü,Á, É, Í, Ó, Ú, Ü,Ñ,ñ . 我该怎么做?我想编码-解码西班牙语文本。
【问题讨论】:
标签: c# encoding decoding non-ascii-characters
对于使用简单的UTF-8 编码为encode/decode 的国际支持,您的数据应该足够了。
Utf-8 有一个漂亮的能力,可以用一个字节读取ASCII,就像普通的 ASCII 字符和 2 个字节的 Unicode 字符一样。所以它能够在必要时“缩小”。
如需完整的C# 文档,请查看
UTF-8
编辑
Encoding enc = new UTF8Encoding(true, true);
string value = " á, é, í, ó, ú, ü,Á, É, Í, Ó, Ú, Ü,Ñ,ñ ";
byte[] bytes= enc.GetBytes(value); //convert to BYTE array
//save in some file
//after can read from the file like
string decodedString = enc.GetString(byteArrayReadFromFile);
【讨论】:
好的,我正在回答我自己的问题,希望对某人有所帮助;在给定的字符串中打印西班牙语或任何其他非 ascii 字符用它们的 unicode 转义字符集替换所有非 ascii 字符 例如用 \u00e1 替换 á 然后简单地打印字符串。
即
string str="árgrgrgrááhhttá";
str=str.Replace("á", "\u00e1");
【讨论】: