• c# Unicode字符串的解码


    前两天工作中遇到个奇怪的问题,一个unicode字符串(即“uXXXX”形式)变量,调用HttpUtility.UrlDecode解码过后,还是原样,要么就是乱码状态。无奈之下只能自己写一个解码函数。

    实现过程如下:

    private string DecodeUnicode(string s)
            {
                Regex reUnicode = new Regex(@"\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
    
                return reUnicode.Replace(s, m =>
                {
                    short c;
                    if (short.TryParse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
                    {
                        return "" + (char)c;
                    }
                    return m.Value;
                });
            }
    

     后续问题:

    如上所述,调用自己写的这么一个解码函数后,确实解决了unicode变量解码的问题。但是网站发布后,线上一直报错,导致整个网站都崩溃无法运行,但是我本地一点问题没有。

    后来查找了半天,终于明白了问题所在。

    因为该方法用到了Linq, 所以一定要注意在定义该方法的类文件中加入命名空间的引用,否则发布后就可能出现问题。

    using System.Linq;
    
  • 相关阅读:
    寒假自学进度十四
    2020.2.14
    2020.2.13
    寒假自学进度十三
    2020.2.12
    软件架构实践阅读笔记1
    一线架构师实践指南阅读笔记03
    一线架构师实践指南阅读笔记02
    python作业5
    一线架构师实践指南Refined Architecture阶段阅读笔记
  • 原文地址:https://www.cnblogs.com/jiyang2008/p/5041714.html
Copyright © 2020-2023  润新知