本文介绍了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.GetBytes
),反之亦然( 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()的功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!