Unity字符串与16进制的相互转化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/n_moling/article/details/81330657

由于 字符串存储过程中,用户输入的不确定性,导致解析时可能出现问题,所以采用字符串转化16进制的做法。

代码如下:

    /// <summary>
    /// 字符串转16进制
    /// </summary>
    /// <param name="input">要转格式的字符串</param>
    /// <returns>转化为16进制的字符串</returns>
    private string ToSixteen(string input)
    {
        char[] values = input.ToCharArray();
        string end = string.Empty;
        foreach (char letter in values)
        {
            int value = Convert.ToInt32(letter);
            string hexoutput = string.Format("{0:X}", value); //0 表示占位符 x或X表示十六进制
            end += hexoutput + "_";
        }
        end = end.Remove(end.Length - 1);
        return end;
    }
    /// <summary>
    /// 16进制转回字符串
    /// </summary>
    /// <param name="input">16进制</param>
    /// <returns>转回的字符串</returns>
    private string ToMyString(string input)
    {
        string[] hexvaluesplit = input.Split('_');
        string end = string.Empty;
        foreach (string hex in hexvaluesplit)
        {
            int value = Convert.ToInt32(hex, 16);
            string stringvalue = char.ConvertFromUtf32(value);
            char charValue = (char)value;
            end += charValue;
        }
        return end;
    }

猜你喜欢

转载自blog.csdn.net/n_moling/article/details/81330657