字符字节转换器,不同编码下字符字节互转
来源:互联网 发布:华孚色纺怎么样 知乎 编辑:程序博客网 时间:2024/06/18 04:41
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Encoding enc;
private void textBox2_TextChanged(object sender, EventArgs e)
{
string text = textBox2.Text;
byte[] bt = enc.GetBytes(text);
textBox1.Text = byteToHexStr(bt);
label1.Text = string.Format("字符长度:{0}个字符\n字节个数:{1}字节", textBox2.Text.Length, bt.Length);
}
/// <summary>
/// 字节数组转16进制字符串
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = 0; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
}
return returnStr;
}
public static byte[] hexStringToByte(String hex)
{
int len = (hex.Length / 2);
byte[] result = new byte[len];
char[] achar = hex.ToUpper().ToCharArray();
for (int i = 0; i < len; i++)
{
int pos = i * 2;
result[i] = (byte)(toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));
}
return result;
}
private static byte toByte(char c)
{
byte b = (byte)"0123456789ABCDEF".IndexOf(c);
return b;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
byte[] bt = hexStringToByte(textBox1.Text.Replace(" ", ""));
string text = enc.GetString(bt);
textBox2.Text = text;
label1.Text = string.Format("字符长度:{0}个字符\n字节个数:{1}字节", textBox2.Text.Length, bt.Length);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.Text.ToString())
{
case "ASCII": enc = Encoding.ASCII; break;
case "GB2312": enc = Encoding.GetEncoding("GB2312"); break;
case "GBK": enc = Encoding.GetEncoding("GBK"); break;
case "UTF-8": enc = Encoding.UTF8; break;
case "Unicode": enc = Encoding.Unicode; break;
default: throw new Exception("未知编码");
}
}
private void Form1_Load(object sender, EventArgs e)
{
enc = Encoding.ASCII;
}
{
public Form1()
{
InitializeComponent();
}
Encoding enc;
private void textBox2_TextChanged(object sender, EventArgs e)
{
string text = textBox2.Text;
byte[] bt = enc.GetBytes(text);
textBox1.Text = byteToHexStr(bt);
label1.Text = string.Format("字符长度:{0}个字符\n字节个数:{1}字节", textBox2.Text.Length, bt.Length);
}
/// <summary>
/// 字节数组转16进制字符串
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = 0; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
}
return returnStr;
}
public static byte[] hexStringToByte(String hex)
{
int len = (hex.Length / 2);
byte[] result = new byte[len];
char[] achar = hex.ToUpper().ToCharArray();
for (int i = 0; i < len; i++)
{
int pos = i * 2;
result[i] = (byte)(toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));
}
return result;
}
private static byte toByte(char c)
{
byte b = (byte)"0123456789ABCDEF".IndexOf(c);
return b;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
byte[] bt = hexStringToByte(textBox1.Text.Replace(" ", ""));
string text = enc.GetString(bt);
textBox2.Text = text;
label1.Text = string.Format("字符长度:{0}个字符\n字节个数:{1}字节", textBox2.Text.Length, bt.Length);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (comboBox1.Text.ToString())
{
case "ASCII": enc = Encoding.ASCII; break;
case "GB2312": enc = Encoding.GetEncoding("GB2312"); break;
case "GBK": enc = Encoding.GetEncoding("GBK"); break;
case "UTF-8": enc = Encoding.UTF8; break;
case "Unicode": enc = Encoding.Unicode; break;
default: throw new Exception("未知编码");
}
}
private void Form1_Load(object sender, EventArgs e)
{
enc = Encoding.ASCII;
}
}
图如下:
0 0
- 字符字节转换器,不同编码下字符字节互转
- [转]字符,字节和编码
- [转]字符,字节和编码
- [转]字符,字节和编码
- [转]字符,字节和编码
- [转]字符,字节和编码
- [转]字符,字节和编码
- 字符,字节和编码(转)
- 字符,字节和编码(转)
- 【转】字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- 字符,字节和编码
- SpringMVC进阶(四)——注解开发
- Java学习笔记【输入输入知识要点】
- 不进化,则消亡
- Java-Mail 发送邮件
- 算法--设计一个有getMin功能的栈
- 字符字节转换器,不同编码下字符字节互转
- IOS框架和服务
- redis
- Largest Rectangle in Histogram 一排矩形中的最大的面积
- Hibernate的性能分析--懒加载、抓取策略、缓存策略
- c# socket检测连接服务器连接
- powershell-sharepoint总结
- ubuntu备份与恢复
- Linux平台下基于C++语言使用gSOAP开发Web Service服务端和客户端程序