首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的Unicode到字符串的转换

问C#中的Unicode到字符串的转换
EN

Stack Overflow用户
提问于 2010-11-15 20:13:05
回答 7查看 76.8K关注 0票数 7

如何将Unicode值转换为其等效的字符串?

例如,我有"రమెశ్",我需要一个函数来接受这个Unicode值并返回一个字符串。

我正在研究System.Text.Encoding.Convert()函数,但它不接受Unicode值;它接受两种编码和一个字节数组。

我基本上有一个字节数组,我需要将它保存在字符串字段中,然后再回来,首先将字符串转换回字节数组。

因此,我使用ByteConverter.GetString(byteArray)将字节数组保存为字符串,但无法将其恢复为字节数组。

EN

回答 7

Stack Overflow用户

发布于 2013-12-12 01:24:27

使用.ToString();

代码语言:javascript
复制
this.Text = ((char)0x00D7).ToString();
票数 8
EN

Stack Overflow用户

发布于 2010-11-15 20:22:34

尝试以下操作:

代码语言:javascript
复制
byte[] bytes = ...;

string convertedUtf8 = Encoding.UTF8.GetString(bytes);
string convertedUtf16 = Encoding.Unicode.GetString(bytes); // For UTF-16

另一种方法是使用` `GetBytes():

代码语言:javascript
复制
byte[] bytesUtf8 = Encoding.UTF8.GetBytes(convertedUtf8);
byte[] bytesUtf16 = Encoding.Unicode.GetBytes(convertedUtf16);

在Encoding类中,如果您需要的话,还有更多的变体。

票数 5
EN

Stack Overflow用户

发布于 2012-07-28 00:42:24

要将字符串转换为Unicode字符串,请执行以下操作:非常简单...请注意BytesToString函数,它避免使用任何内置的转换内容。速度也很快。

代码语言:javascript
复制
private string BytesToString(byte[] Bytes)
{
  MemoryStream MS = new MemoryStream(Bytes);
  StreamReader SR = new StreamReader(MS);
  string S = SR.ReadToEnd();
  SR.Close();
  return S;
}

private string ToUnicode(string S)
{
  return BytesToString(new UnicodeEncoding().GetBytes(S));
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4184190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档