zoukankan
html css js c++ java
加码解码
public
string
EncodingSMS(
string
s)
{
string
result
=
string
.Empty;
byte
[] arrByte
=
System.Text.Encoding.GetEncoding(
"
GB2312
"
).GetBytes(s);
for
(
int
i
=
0
; i
<
arrByte.Length; i
++
)
{
result
+=
System.Convert.ToString(arrByte[i],
16
);
//
Convert.ToString(byte, 16)把byte转化成十六进制string
}
return
result;
}
public
string
DecodingSMS(
string
s)
{
string
result
=
string
.Empty;
byte
[] arrByte
=
new
byte
[s.Length / 2
];
int
index
=
0
;
for
(
int
i
=
0
; i
<
s.Length; i
+=
2
)
{
arrByte[index
++
]
=
Convert.ToByte(s.Substring(i,
2
),
16
);
//
Convert.ToByte(string,16)把十六进制string转化成byte
}
result
=
System.Text.Encoding.Default.GetString(arrByte);
return
result;
}
加码解码的规则如下:
加码时将字符串中的所有字符转换成其对应的ASCII值的16进制值,例如:“A”的ASCII码值为65,以16进制值表示为41,故应发送两个字符“41”以代表字符“A”。
对于汉字则以其内码的16进制值来表示,如“测试”应为:B2E2CAD4。
原理:
string
aaa
=
"
AB测试
"
;
byte
[] bbb
=
System.Text.Encoding.Default.GetBytes(aaa);
string
ccc
=
System.Text.Encoding.Default.GetString(bbb);
for
(
int
i
=
0
; i
<
bbb.Length; i
++
)
{
Response.Write(System.Convert.ToString(bbb[i],
16
));
}
Response.Write(ccc);
查看全文
相关阅读:
认识Java数组(一)
Java之定时任务详解
Java三大特征之多态(三)
Java三大特征之继承(二)
Java三大特征之封装(一)
eclipse常用快捷键汇总
JDK动态代理
Java代理模式——静态代理模式
CRISPR/Cas9基因敲除原理及实验建议
MicroRNA 详解
原文地址:https://www.cnblogs.com/xiaodi/p/145493.html
最新文章
【测试用例工具】TestLinked的使用实例(转)
【测试面试】测试面试题集锦(三)
【测试用例工具】TestLink教程:一份完整指南(转)
【测试面试】测试面试题集锦(二)
【测试面试】经典测试面试题(转)
【Python学习】Python3 基本数据类型
【JsonView工具】谷歌浏览器中安装JsonView扩展程序
【Python学习】Python3 环境搭建
Python学习笔记之selenium 定制启动 chrome 的选项
Python学习笔记之os模块
热门文章
Python学习笔记之__init__.py文件的作用
Linux安装qq
B/S与C/S的区别
解释与编译的区别
JMeter接口学习笔记2017
the road of app test
the road of test
数据库学习笔记
springMVC基础
深入Java数组(二)
Copyright © 2011-2022 走看看