zoukankan      html  css  js  c++  java
  • C#PDU编码UCS2加密解密函数

    原文地址:http://www.cnblogs.com/ycdx2001/archive/2011/04/24/2026468.html

           /// <summary>
           
    /// UCS2解码 
           
    /// </summary>

           
    /// <param name="src"> UCS2 源串 </param>
           
    /// <returns> 解码后的UTF-16BE字符串</returns>
           public static string DecodeUCS2(string src)
           {
               
    string decucs = src.Remove(src.IndexOf("/r"
    ));
               
    string pstr = "^[0-9a-fA-F]+$"
    ;
               
    if (!
    Regex.IsMatch(decucs, pstr))
               {
                   
    return "非法字符串无法解析!"
    ;
               }

               StringBuilder builer 
    = new
     StringBuilder();

               
    for (int i = 0; i < decucs.Length; i += 4
    )
               {
                   
    int unicode_nu = Int32.Parse(decucs.Substring(i, 4
    ), System.Globalization.NumberStyles.HexNumber);
                   builer.Append(
    string.Format("{0}", (char
    )unicode_nu));
               }

               
    return
     builer.ToString();
           }

            
    /// <summary>

            
    /// UCS2编码
            
    /// </summary>

            
    /// <param name="src"> UTF-16BE编码的源串</param>
            
    /// <returns>编码后的UCS2串 </returns>
            public static string EncodeUCS2(string src)
            {
                StringBuilder builer 
    = new
     StringBuilder();
                builer.Append(
    "000800"
    );
                
    byte[] tmpSmsText =
     Encoding.Unicode.GetBytes(src);
                builer.Append(tmpSmsText.Length.ToString(
    "X2")); //正文内容长度

                for (int i = 0; i < tmpSmsText.Length; i += 2//高低字节对调 
                {
                    builer.Append(tmpSmsText[i 
    + 1].ToString("X2"));//("X2")转为16进制

                    builer.Append(tmpSmsText[i].ToString("X2"));
                }
                builer 
    = builer.Remove(08
    );

                
    return
     builer.ToString();
            }  

  • 相关阅读:
    python生成试题库和界面 (python generate test database and layout)
    python生成数据库(python generate database)
    Go语言基础之流程控制
    Go语言基础之运算符
    Go语言基础之变量和常量
    VS Code配置Go语言开发环境
    Linux安装教程|详细
    安装Go语言及搭建Go语言开发环境
    Go语言
    Django2.0路由匹配path的用法
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306774.html
Copyright © 2011-2022 走看看