Unicode和String相互转换 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1998 | 回复: 0   主题: Unicode和String相互转换         上一篇   下一篇 
liuliying930406
注册用户
等级:中校
经验:2027
发帖:210
精华:0
注册:2018-10-9
状态:离线
发送短消息息给liuliying930406 加好友    发送短消息息给liuliying930406 发消息
发表于: IP:您无权察看 2019-9-6 17:13:45 | [全部帖] [楼主帖] 楼主

/// <summary>

/// 字符串转换为Unicode码,对于Unicode码小于255的不予转换,类似于Java中的native2ascii转码方式

/// 例 如:我爱祢1生1世,dear!

/// 结果为:\u6211\u7231\u79621\u751f1\u4e16,dear\uff01

/// 其中,逗号是英文的,所以没有转换;而最后的感叹号是中文的,所以进行了转换

/// </summary>

/// <param name="str">如:我爱祢1生1世,dear!</param>

/// <returns>如:\u6211\u7231\u79621\u751f1\u4e16,dear\uff01</returns>

private String StringToUnicode(String str)

string result = "";

foreach (char c in str)

string s = ((int)c).ToString("x");

if ((int)c <= 255)

s = "" + c;

else if (s.Length == 2)

s = "\\u00" + s;

else

s = "\\u" + s;

result += s;

return result;

/// <summary>

/// Unicode码转换为字符串,StringToUnicode的逆运算

/// </summary>

/// <param name="str">如:\u6211\u7231\u79621\u751f1\u4e16,dear\uff01</param>

/// <returns>如:我爱祢1生1世,dear!</returns>

private string UnicodeToString(string str)

return System.Text.RegularExpressions.Regex.Replace(

str,

@"\\u(?<Value>[a-zA-Z0-9]{4})",

m =>

return ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString();




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论