使用AS3输出ByteArray为16进制
package
{
import flash.utils.ByteArray;
/**
* 输出ByteArray为16进制
* @author Rise
*/
public class Byte2Hex
{
public static function Trace(bytes:ByteArray):void
{
if (bytes == null)
{
trace("bytes is null");
return;
}
var length:int = getHexLen(bytes.length);
length = length > 4 ? length : 4;
trace(getTitle(length));
bytes.position = 0;
for (var j:int = 0; bytes.bytesAvailable > 0; j += 16)
{
var line:String = fillHexLen(j, length) + " ";
var str:String = "";
for (var i:int = 0; i < 16; i++)
{
if (bytes.bytesAvailable > 0)
{
var char:int = bytes.readByte() & 0xFF;
line += fillHexLen(char, 2) + " ";
str += String.fromCharCode(char);
}
else
{
line += ".. ";
}
}
trace(line, "\t", str);
}
} private static function fillHexLen(num:int, length:int):String
{
var str:String = num.toString(16);
var zeros:String = "";
for (var i:int = 0; i < length - str.length; i++)
{
zeros += "0";
} return zeros + str;
} private static function getHexLen(length:int):int
{
var bit:int = 0x0F;
for (var i:int = 1; i <= 8; i++)
{
bit = bit << i | bit;
if (bit > length)
{
return i;
}
}
return 8;
} private static function getTitle(length:int):String
{
var title:String = "";
for (var i:int = 0; i < length; i++)
{
title += " ";
}
return(title + " 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15");
}
}
}
代码很烂,高手勿喷。
使用方法:
var bytes:ByteArray = new ByteArray;
bytes.endian = Endian.LITTLE_ENDIAN;
bytes.writeMultiByte("ABCDEFGLKAJSFKOIJOIJWELKJLJOI114asdfasdfasdfasdfasdfasdfaf", "utf-8");
bytes.writeInt(100000);
Byte2Hex.Trace(bytes);
Output
4c 4b 4a 4b 4f ABCDEFGLKAJSFKOI
4a 4f 4a 4c 4b 4a 4c 4a 4f JOIJWELKJLJOI114
asdfasdfasdfasdf
a0 .. .. asdfasdfaf
使用AS3输出ByteArray为16进制的更多相关文章
- ByteArray、16进制、字符串之间的转换
ByteArray.16进制.字符串之间的转换: package fengzi.convert { import flash.utils.ByteArray; public class ByteArr ...
- [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]
Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...
- 基于visual Studio2013解决面试题之1203转16进制输出
题目
- C printf按8进制、10进制、16进制输出以及高位补0
; /*按整型输出,默认右对齐*/ printf("%d\n",PrintVal); /*按整型输出,补齐4位的宽度,补齐位为空格,默认右对齐*/ printf("%4d ...
- Python输出16进制不带0x补零,整数转16进制,字符串转16进制
Python输出16进制不带0x补零,整数转16进制,字符串转16进制 在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多 ...
- Go -- socket read的内容以16进制输出
buf := make([]) reqLen, err := conn.Read(buf) // 遍历, 转为16进制 buffer := new(bytes.Buffer) for _, b := ...
- 16进制ascii码转化为对应的字符,付ipmitool查询硬件信息
最近工作需要在用ipmitool查询服务器硬件信息.ipmitool查询硬件信息 比如电源,使用命令: 获取PSU0信息:Ipmitool raw 0x3a 0x71 0x00: 获取PSU1信息:I ...
- ACM 16进制的简单运算
16进制的简单运算 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果. 输入 第一行输入一个正整 ...
- SQLSERVER 16进制与10进制转换
最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找 ...
随机推荐
- URL,URI和URN的理解
我想很多人和我一样弄不清楚URI和URL之间的区别,有人可能觉得这是统一概念的不同表述而已. 我们先看看定义: URI:Uniform Resource Identifier,即统一资源标志符,用来唯 ...
- 插入排序---希尔插入排序算法(Javascript版)
取一个小于n的整数作为第一个增量,把序列分组.所有距离为增量的倍数的元素放在同一个组中.先在各组内进行直接插入排序:然后,取第二个增量(第二个<第一个)重复上述的分组和排序,直至所取的增量=1, ...
- 代码实现SQL Server动态行转列,不用存储过程
分两步查询,第一步查询出动态列,第二步使用PIVOT函数. 代码: List<DataTable> dataTableList = new List<DataTable>(); ...
- 基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- Android发送短信
// 发送短信 public void sendMsg(){ String content = edtSend.getText().toString(); SmsManager smsManager ...
- 【Java每日一题】20161102
package Nov2016; public class Ques1102 implements Parent{ @Override public void method() { } } inter ...
- 【Java每日一题】20161028
package Oct2016; public class Ques1028 { public static void main(String[] args){ new B().out(); // 输 ...
- mysql存储过程中的异常处理
http://www.cnblogs.com/cookiehu/p/4994278.html 定义异常捕获类型及处理方法: DECLARE handler_action HANDLER FOR con ...
- Firemonkey Bitmap 设定像素颜色 Pixel
VCL 和 Firemonkey 的 Bitmap 处理像素的方式不相同,下例为将图片内不是「白色」的像素全部改成「黑色」: procedure TForm1.Button1Click(Sender: ...
- volcanol_Linux_ 问题汇总系列_4_Thinkpad_E40_0578MDC_在Fedora 13 Linux(FC13)中如何安装无线网卡驱动
今天晚上,我突然想在自己到笔记本上安装linux系统,因为我自己第一次接触到的linux是红帽支持到Fedora Core 4,所以一直最中意的linux 发行版本是FC系列,同时由于FC 15以后到 ...