C#是否具有类似PHP的mb_convert_encoding()的功能? [英] Does C# have something like PHP's mb_convert_encoding()?

查看:75
本文介绍了C#是否具有类似PHP的mb_convert_encoding()的功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在C#上是否可以将unicode字符串转换为ASCII + html实体,然后再次返回?看到,在PHP中,我可以这样做:

Is there a way on C# that I can convert unicode strings into ASCII + html entities, and then back again? See, in PHP, I can do it like so:

<?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 ,尽管我自己很少使用它:

Yes, there's Encoding.Convert, although I rarely use it myself:

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

我很少发现我想从一种编码形式转换为另一种形式-执行从文本到二进制的一种单向转换( Encoding.GetString ).

I rarely find I want to convert from one encoded form to another - it's much more common to perform a one way conversion from text to binary (Encoding.GetBytes) or vice versa (Encoding.GetString).

这篇关于C#是否具有类似PHP的mb_convert_encoding()的功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆