1.获取byte字节高四位
public static int getHeight4(byte data){//获取高四位
int height;
height = ((data & 0xf0) >> 4);
return height;}
2.获取byte字节低四位
public static int getLow4(byte data)
{//获取低四位
int low;
low = (data & 0x0f);
return low;}
3. JSON、对象、DIctionary转换
/// <summary>
/// 对象转换成Json
/// </summary>
/// <param name="obj">对象实例</param>
/// <returns></returns>
public static string ObjectToJson(object obj)
{
try
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(obj);
}
catch (Exception ex)
{
WriteLog.WriteError(typeof(JsonUtility), "ObjectToJson:" + ex.Message);
return string.Empty;
}
}
/// <summary>
/// Json转换成对象 /// </summary>
/// <param name="strJson">Json字符串</param>
/// <param name="type">对象类型</param>
/// <returns></returns>
public static object JsonToObject(string strJson, Type type)
{
try
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize(strJson, type);
}
catch (Exception ex)
{
WriteLog.WriteError(typeof(JsonUtility), "JsonToObject:" + ex.Message);
return new object();
}
}
/// <summary>
/// 对象转换成Json
/// </summary>
/// <param name="obj">对象实例</param>
/// <returns></returns>
public static string DictionaryToJson(Dictionary<string, object> dic)
{
try
{
if (dic == null || dic.Count <= 0)
{
return string.Empty;
}
StringBuilder str = new StringBuilder(1024);
str.Append("{");
foreach (string key in dic.Keys)
{
if (dic[key].GetType() == typeof(System.String))
{
str.Append("\"" + key + "\"" + ":" + "\"" + dic[key].ToString() + "\"" + ",");
}
else if (dic[key].GetType() == typeof(System.Int32) || dic[key].GetType() == typeof(System.Decimal) ||
dic[key].GetType() == typeof(System.Double) || dic[key].GetType() == typeof(System.Single))
{
str.Append("\"" + key + "\"" + ":" + dic[key].ToString() + ",");
}
}
str.Remove(str.Length - 1, 1);
str.Append("}");
return str.ToString();
}
catch (Exception ex)
{
WriteLog.WriteError(typeof(JsonUtility), "DictionaryToJson:" + ex.Message);
return string.Empty;
}
}
/// <summary>
/// JSON转成Dictionary
/// </summary>
/// <param name="strJson"></param>
/// <returns></returns>
public static Dictionary<string, object> ConvertJsonToDictionary(string strJson)
{
try
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize<Dictionary<string, object>>(strJson);
}
catch (Exception ex)
{
WriteLog.WriteError(typeof(JsonUtility), "ConvertJsonToDictionary:" + ex.Message);
return new Dictionary<string, object>();
}
}
4.byte[]、string(Hex)互转(串口指令)
public static string BytesToHex(byte[] data)
{
StringBuilder sbRet = new StringBuilder(data.Length * 2);
for (int i = 0; i < data.Length; i++)
{
sbRet.Append(Convert.ToString(data[i], 16).PadLeft(2, '0'));
}
return sbRet.ToString();
}
public byte[] GetCmd(string strCmd)
{
int len = 0;
byte[] buf = new byte[strCmd.Length / 2];
for (int i = 0; i < strCmd.Length; i = i + 2)
buf[len++] = Convert.ToByte(strCmd.Substring(i, 2), 16);
return buf;
}
//byte[] 中某个字节转为string
public static string ByteToStringDef(byte abyte, int alen, string DefVal)
{
string ret = "";
try
{
ret = abyte.ToString("X2");
}
catch (Exception error)
{
ret = DefVal;
}
return ret;
}
5.string 转base64字符串
public string GetBase64(string data)
{
string strBase64 = "";
byte[] b = System.Text.Encoding.Default.GetBytes(data);
strBase64 = Convert.ToBase64String(b);
return strBase64;
}
string转byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );
byte[]转string:
string str = System.Text.Encoding.Default.GetString ( byteArray );
string转ASCII byte[]:
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );
ASCII byte[]转string:
string str = System.Text.Encoding.ASCII.GetString ( byteArray );