Beispiel #1
0
        /// <summary>
        /// 多进制除法
        /// </summary>
        /// <param name="format">格式</param>
        /// <param name="str1">第一个数</param>
        /// <param name="str2">第二个数</param>
        /// <returns>商</returns>
        static public string division(int format, string str1, string str2)
        {
            int num1 = CryptoString.stringToInt(anyToDec(str1, format));
            int num2 = CryptoString.stringToInt(anyToDec(str2, format));

            return(decToAny((num1 / num2).ToString(), format));
        }
Beispiel #2
0
        /// <summary>
        /// 16进制ASCII串转字符串
        /// </summary>
        /// <param name="hex">16进制ASCII串(每个ASCII必须占2位,不需要0x)</param>
        /// <returns>字符串</returns>
        public static string ASCIIToString(string hex)
        {
            if (hex.StartsWith("0x") || hex.StartsWith("0X"))
            {
                hex = hex.Remove(0, 2);
            }
            int len = hex.Length;

            if (len % 2 != 0)
            {
                throw new Exception("字符串长度错误");
            }
            string str = "";

            for (int i = 0; i < len; i++)
            {
                str += ASCIIToString(new byte[] {   //按byte转ASCII
                    (byte)CryptoString.stringToInt( //将10进制string数字字符串转对应int
                        Conversion.convert(         //16进制转10进制
                            new string(new char[] { hex[i], hex[++i] }), 16, 10))
                });
            }
            return(str);
        }