如何将字符串转换为UTF8?
这段代码使得UTF-8编码与您的字符串的字节数组:
UTF8Encoding utf8 = new UTF8Encoding();
string unicodeString = "Quick brown fox";
byte[] encodedBytes = utf8.GetBytes(unicodeString);
为什么不直接使用'Encoding.UTF8.GetBytes而不是“新增”另一个编码器? – 2012-01-03 04:10:44
@ JesseC.Slicer此片段来自[Microsoft的UTF8Encoding类示例](http://msdn.microsoft.com/en-us/library/system.text.utf8encoding.aspx)。我不是100%确定他们为什么选择这样做,但我认为这是为了线程安全(他们提到实例成员不保证是线程安全的,但这只是我的猜测)。 – dasblinkenlight 2012-01-03 04:17:18
尝试将此代码
string unicodeString = "Quick brown fox";
var bytes = new List<byte>(unicodeString);
foreach (var c in unicodeString)
bytes.Add((byte)c);
var retValue = Encoding.UTF8.GetString(bytes.ToArray());
试试这个功能,这样就可以解决在箱子外面,你虽然可能需要修复命名约定。
private string UnicodeToUTF8(string strFrom)
{
byte[] bytSrc;
byte[] bytDestination;
string strTo = String.Empty;
bytSrc = Encoding.Unicode.GetBytes(strFrom);
bytDestination = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, bytSrc);
strTo = Encoding.ASCII.GetString(bytDestination);
return strTo;
}
使用它可以创建字符串 1.在保存到数据库之前兼容XML, 2.导出为CSV之前(或)CSV兼容 – Arvin 2015-10-16 13:53:32
这应该是用最少的代码:
byte[] bytes = Encoding.Default.GetBytes(myString);
myString = Encoding.UTF8.GetString(bytes);
我认为这可以帮助你。 http://*.com/questions/497782/how-to-convert-a-string-from-utf8-to-ascii-single-byte-in-c – Bishan 2012-01-03 04:04:45