zoukankan      html  css  js  c++  java
  • OctetString 转String

         /// <summary>
            /// OctetString转时间
            /// </summary>
            /// <param name="ss">字符串如  07 E3 06 06 11 10 0A 00 2B 08 00</param>
            /// <returns>2012-09-23 17:01:27</returns>
            public static string OctetString2DateAndTime(string ss)
            {
                // 07 E3 06 06 11 10 0A 00 2B 08 00
                byte[] bts=ss.Trim().Split(' ').Select(s => byte.Parse(Convert.ToInt32("0x" + s, 16).ToString())).ToArray();
                byte[] format_str = new byte[19]; //保存格式化过后的时间字符串
                int year = bts[0] * 256 + bts[1];
                int month = bts[2];
                int day = bts[3];
                int hour = bts[4];
                int minute = bts[5];
                int second = bts[6];
                int msecond = bts[7];
                //以下为格式化字符串
                int index = 3;
                int temp = year;
                for (; index >= 0; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[4] = (byte)'-';
                index = 6;
                temp = month;
                for (; index >= 5; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[7] = (byte)'-';
                index = 9;
                temp = day;
                for (; index >= 8; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[10] = (byte)' ';
                index = 12;
                temp = hour;
                for (; index >= 11; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[13] = (byte)':';
                index = 15;
                temp = minute;
                for (; index >= 14; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[16] = (byte)':';
                index = 18;
                temp = second;
                for (; index >= 17; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
                return Encoding.Default.GetString(format_str);
            }
  • 相关阅读:
    查找第一个不重复的字符问题
    gops
    关于 Go 中 Map 类型和 Slice 类型的传递
    Go 程序的性能优化及 pprof 的使用
    Go语言标准库_输入/输出
    Linux 终端 Bash 常用快捷键介绍及经验
    蓄水池采样算法(Reservoir Sampling)
    Guice 依赖绑定
    基本动态规划之硬币问题
    程序打包成jar 获取不到工程目录下文件的问题
  • 原文地址:https://www.cnblogs.com/simadi/p/10998224.html
Copyright © 2011-2022 走看看