c# - C# 有类似 PHP 的 mb_convert_encoding() 的东西吗?

标签 c# unicode utf-8 html-encode

在 C# 上有没有一种方法可以将 unicode 字符串转换为 ASCII + html 实体,然后再转换回来?看,在 PHP 中,我可以这样做:

<?php
// RUN ME AT COMMAND LINE
$sUnicode = '<b>Jöhan Strauß</b>';
echo "UNICODE: $sUnicode\n";
$sASCII = mb_convert_encoding($sUnicode, 'HTML-ENTITIES','UTF-8');
echo "ASCII: $sASCII\n";
$sUnicode = mb_convert_encoding($sASCII, 'UTF-8', 'HTML-ENTITIES');
echo "UNICODE (TRANSLATED BACK): $sUnicode\n";

背景:

  • 我需要它在 C# .NET 2 中工作,因为我们受到限制,不能在旧应用程序中使用更高版本的 .NET 库。
  • 我处理此应用程序的 PHP 后端。我想就此项目与 C# 前端团队分享一些技巧。

最佳答案

是的,有 Encoding.Convert ,虽然我自己很少使用它:

string text = "<b>Jöhan Strauß</b>";
byte[] ascii = Encoding.ASCII.GetBytes(text);
byte[] utf8 = Encoding.Convert(Encoding.ASCII, Encoding.UTF8, ascii);

我很少发现我想要从一种编码形式转换为另一种编码形式 - 执行从文本到二进制 (Encoding.GetBytes) 或相反 (Encoding.GetString) 的单向转换更为常见。

关于c# - C# 有类似 PHP 的 mb_convert_encoding() 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13549006/

相关文章:

c# - 这是什么意思?

c# - C#中换行的字符表达式是什么?

python-3.x - 从命令行参数到 Python 3 中的 URL 的 Unicode

string - Python 对 shell 字符串的处理

javascript - 如何使用 javascript/nodejs 从 latin1 (iso-8859-1) 数据库获取数据?

JavaScript 正则表达式 UTF-8

c# - 在 UserSettings 中保存 XML 数据

javascript - JS : Test if string contains any unicode capital

在r中读取带有西类牙语字符(´,ñ)的csv文件

c# - Winforms 格式化文本框为货币