C#二进制与字符串互转换,十六进制转换为字符串、float、int
2013-07-10 08:49
399 查看
/// <summary> /// 将 字符串 转成 二进制 “10011100000000011100011111111101”
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string bianma(string s) {
byte[] data = Encoding.Unicode.GetBytes(s);
StringBuilder result = new StringBuilder(data.Length * 8);
foreach (byte b in data)
{
result.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
return result.ToString();
}
/// <summary>
/// 将二进制 “10011100000000011100011111111101” 转成 字符串
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string jiema(string s) {
System.Text.RegularExpressions.CaptureCollection cs = System.Text.RegularExpressions.Regex.Match(s, @"([01]{8})+").Groups[1].Captures;
byte[] data = new byte[cs.Count];
for (int i = 0; i < cs.Count; i++)
{
data[i] = Convert.ToByte(cs[i].Value, 2);
}
return Encoding.Unicode.GetString(data, 0, data.Length);
}
/// <summary>
/// <函数:Decode>
///作用:将16进制数据编码转化为字符串
/// </summary>
/// <param name="strDecode"></param>
/// <returns></returns>
public string DecodeToString(string strDecode)
{
string sResult = "";
for (int i = 0; i < strDecode.Length / 4; i++)
{
sResult += int.Parse(strDecode.Substring(i * 4, 4), global::System.Globalization.NumberStyles.HexNumber);
}
return sResult;
}
/// <summary>
/// 将16进制数转为10进制数,并保留小数位数
/// </summary>
/// <param name="strDecode"></param>
/// <param name="i"></param>
/// <returns></returns>
public float DecodeToFloat(string strDecode, int i)
{
int num = Convert.ToInt32(strDecode, 16);
float result = (float.Parse(num.ToString())) / i;
return result;
}
/// <summary>
/// 将16进制数转为10进制数整型
/// </summary>
/// <param name="strDecode"></param>
/// <returns></returns>
public int DecodeToInt(string strDecode)
{
int result = Convert.ToInt32(strDecode, 16);
return result;
}
/// <summary>
/// 获取数据源(读取记事本)
/// </summary>
/// <returns></returns>
public string GetData()
{
string effectiveData = "0";//有效数据
try
{
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));
string strText = "";
while (true){
string strTemp = sr.ReadLine();
if (strTemp != null)
{
strText += strTemp;
continue;
}
else
{
break;
}
}
strText = strText.Trim();
sr.Close();
fs.Close();
return effectiveData;
}
/// <summary>
/// 清空记事本内容
/// </summary>
public void ClearText()
{
//StreamWriter sw = new StreamWriter(filePath, false);
//sw.Write(string.Empty);
//sw.Close();
//sw.Dispose();
FileStream fs = new FileStream(filePath, FileMode.Create);
fs.Close();
}
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string bianma(string s) {
byte[] data = Encoding.Unicode.GetBytes(s);
StringBuilder result = new StringBuilder(data.Length * 8);
foreach (byte b in data)
{
result.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
return result.ToString();
}
/// <summary>
/// 将二进制 “10011100000000011100011111111101” 转成 字符串
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string jiema(string s) {
System.Text.RegularExpressions.CaptureCollection cs = System.Text.RegularExpressions.Regex.Match(s, @"([01]{8})+").Groups[1].Captures;
byte[] data = new byte[cs.Count];
for (int i = 0; i < cs.Count; i++)
{
data[i] = Convert.ToByte(cs[i].Value, 2);
}
return Encoding.Unicode.GetString(data, 0, data.Length);
}
/// <summary>
/// <函数:Decode>
///作用:将16进制数据编码转化为字符串
/// </summary>
/// <param name="strDecode"></param>
/// <returns></returns>
public string DecodeToString(string strDecode)
{
string sResult = "";
for (int i = 0; i < strDecode.Length / 4; i++)
{
sResult += int.Parse(strDecode.Substring(i * 4, 4), global::System.Globalization.NumberStyles.HexNumber);
}
return sResult;
}
/// <summary>
/// 将16进制数转为10进制数,并保留小数位数
/// </summary>
/// <param name="strDecode"></param>
/// <param name="i"></param>
/// <returns></returns>
public float DecodeToFloat(string strDecode, int i)
{
int num = Convert.ToInt32(strDecode, 16);
float result = (float.Parse(num.ToString())) / i;
return result;
}
/// <summary>
/// 将16进制数转为10进制数整型
/// </summary>
/// <param name="strDecode"></param>
/// <returns></returns>
public int DecodeToInt(string strDecode)
{
int result = Convert.ToInt32(strDecode, 16);
return result;
}
/// <summary>
/// 获取数据源(读取记事本)
/// </summary>
/// <returns></returns>
public string GetData()
{
string effectiveData = "0";//有效数据
try
{
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));
string strText = "";
while (true){
string strTemp = sr.ReadLine();
if (strTemp != null)
{
strText += strTemp;
continue;
}
else
{
break;
}
}
strText = strText.Trim();
sr.Close();
fs.Close();
return effectiveData;
}
/// <summary>
/// 清空记事本内容
/// </summary>
public void ClearText()
{
//StreamWriter sw = new StreamWriter(filePath, false);
//sw.Write(string.Empty);
//sw.Close();
//sw.Dispose();
FileStream fs = new FileStream(filePath, FileMode.Create);
fs.Close();
}
相关文章推荐
- c语言 字符串转换为int或float
- C#中将字符串类型转换为int 和 float
- parseInt parseFloat js字符串转换数字
- 有关int,float,double型与字符串char*类型的相互转换
- C++ - 字符串(string)和数字(int、float...)互相转换
- C语言二进制和float、int类型转换
- parseInt parseFloat js字符串转换数字
- str to int, long, float; 数字 转 字符串; 大小写转换等
- iOS设计中字符串NSString与int及float之间的转换
- 二进制字符串转换为int类型
- IOS开发NSString与int和float的相互转换以及字符串拼接、NSString、NSData、char* 类型之间的转换
- 1.使用try catch 捕获除0异常,并打印信息“不能除0”. * 2.将字符串“12.5” 转换为float类型 * 3.将int类型的127转换成 byte和short类型
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- 字符串(string)与整型(int)、浮点型(float)等之间的转换
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- 把字符串转换成int,float类型
- C/C++中int/long/float/double数值类型与字符串互相转换
- C库-----字符串(string)与整型(int)、浮点型(float)等之间的转换
- js 字符串转换成int或者float类型
- parseInt parseFloat js字符串转换数字