C#中[Unicode编码]和[Unicode解码]示例
1、打开Microsoft Visual Studio 2010, 新建名字为【Unicode编码/解码示例】的程序。本程序可以将用户输出的原镫炜茛玳始中英文转换为Unicode编码格式,也可以将用户输入的Unicode编码后的数据进行解码。
2、在新程序界面上添加对应的控件:包括,用于输入原始字符串的2个文本框;用于输出日志的文本框;两个编码和解码的【输出】按钮。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/6002c9d4483104ebcc1cd3bb092b74ee1d324e13.jpg)
3、编辑代码,添加Unicode编码按钮【输出】的代码如果未输入原始数值,则提示并退出;获取原始数值;调用unicode编码的方法输出编码后的内容。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/f7e6410f822b74ee2289c7acda2c8cf1d9a74a13.jpg)
4、设置编码的方法如果传递的字符串为空,则返回空值,定义临时字符串1和2,逐个将单个字符转为unicode码,如果转为unicode码后的长度为2,则加上00前缀,累加到输出字符串中,返回结果字符串。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/1d735518512c8cf19a1caa87c384cde34a2c4613.jpg)
5、添加Unicode解码按钮【输出】的代码如果未输入原始数值,则提示并退出;获取原始数值;调用unicode解码的方法输出解码后的内容。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/e4b5e2f5ee0d3acee56cfedf87e265e7350fbb13.jpg)
6、设置解码的方法如果传递的字符串为空,则返回空值,定义临时字符串1和2,将原始码逐个解析,取出第一个4位unicode原镫炜茛玳始码,在需要解析的字符串中减去刚才取出的4位码,将unicode解码后累加到输出字符串中,如果剩余的字符串长度不足4位,标示已经解码完成,退出循环。返回解码后的结果字符串。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/bff8683e21c2bbd6bb6be15c116186254093ae13.jpg)
7、生成exe文件进行测试。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/304f0999e92abab82bfbe64a4814f1c594eea113.jpg)
8、首先测试英文编码和解码。输入原始字符串【test unicode】,点击【输出】。可以看到编码后的结果。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/dda98e4800fc77f7e0b5d394c8715fdb37209013.jpg)
9、将刚才编码的结果输入到解码的原始字符串文本框中,点击【输出】。可以看到解码后的结果是【test unicode】,表示编码和解码过程正确。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/dccb47de45078801becb59f5b18ca608a40f8213.jpg)
10、再来测试中文编码和解码。输入原始字符串【百度经验大家好】,点击【输出】。可以看到编码后的结果。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/8b3643dd884ce54abc9c6b5ba3066b0193ddf713.jpg)
11、将刚才编码的结果输入到解码的原始字符串文本框中,点击【输出】。可以看到解码后的结果是【百度经验大家好】,表示编码和解码过程正确。
![C#中[Unicode编码]和[Unicode解码]示例](https://exp-picture.cdn.bcebos.com/90c61d1c99c0affc7f3da89b2372941fbfe4ea13.jpg)