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进制的更多相关文章

  1. ByteArray、16进制、字符串之间的转换

    ByteArray.16进制.字符串之间的转换: package fengzi.convert { import flash.utils.ByteArray; public class ByteArr ...

  2. [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]

    Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...

  3. 基于visual Studio2013解决面试题之1203转16进制输出

     题目

  4. C printf按8进制、10进制、16进制输出以及高位补0

    ; /*按整型输出,默认右对齐*/ printf("%d\n",PrintVal); /*按整型输出,补齐4位的宽度,补齐位为空格,默认右对齐*/ printf("%4d ...

  5. Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    Python输出16进制不带0x补零,整数转16进制,字符串转16进制   在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多 ...

  6. Go -- socket read的内容以16进制输出

    buf := make([]) reqLen, err := conn.Read(buf) // 遍历, 转为16进制 buffer := new(bytes.Buffer) for _, b := ...

  7. 16进制ascii码转化为对应的字符,付ipmitool查询硬件信息

    最近工作需要在用ipmitool查询服务器硬件信息.ipmitool查询硬件信息 比如电源,使用命令: 获取PSU0信息:Ipmitool raw 0x3a 0x71 0x00: 获取PSU1信息:I ...

  8. ACM 16进制的简单运算

    16进制的简单运算 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果.   输入 第一行输入一个正整 ...

  9. SQLSERVER 16进制与10进制转换

    最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找 ...

随机推荐

  1. C# 与 Java 中的枚举

    C#代码: 利用扩展方法,扩展枚举功能 using System; using System.Collections.Generic; using System.Text; using System. ...

  2. HoverTree项目添加了查看留言列表功能

    HoverTree项目添加了查看留言列表功能 页面:HoverTreeWeb项目下hvtpanel/usermessage/messagelist.aspx 添加留言页面:addmessage.asx ...

  3. JQuery 快速入门一篇通

    JQuery是什么? JQuery 是一套JavaScript库, 使用它,可以很方便的进行 JavaScript的编程.比如: 获取页面元素, 修改页面元素的CSS样式等等都可以以很简单的语法完成. ...

  4. Nancy 学习-身份认证(Basic Authentication) 继续跨平台

    开源 示例代码:https://github.com/linezero/NancyDemo 前面讲解Nancy的进阶部分,现在来学习Nancy 的身份认证. 本篇主要讲解Basic Authentic ...

  5. Ajax.ActionLink打开页面之后,表单验证失效

    这两天遇到这个问题搞了很久,原因是验证插件默认是在页面初始化时初始化,ajax调用导致页面不会初始化,所以验证插件也没有初始化.解决方案如下 @Ajax.ActionLink("Edit&q ...

  6. Windows Server 2012中配置AD域服务

    1.安装完AD域服务后,我们返回服务器管理器界面,点击"将此服务器提升为域控制器",选择"添加新林". 输入域名称:contoso.com 2.按图中所示选择林 ...

  7. Scalaz(16)- Monad:依赖注入-Dependency Injection By Reader Monad

    在上一篇讨论里我们简单的介绍了一下Cake Pattern和Reader Monad是如何实现依赖注入的.主要还是从方法上示范了如何用Cake Pattern和Reader在编程过程中解析依赖和注入依 ...

  8. 【转】PHP调试开发工具你认识多少?

    来源:PHP100中文网(http://www.php100.com/html/itnews/PHPxinwen/2009/0902/3257.html) PHP现在已经是使用最为广泛的开源服务器端脚 ...

  9. angular学习的一些小笔记(中)之directive

    directive里面的几个配置,上代码就清晰了 <!DOCTYPE html> <html ng-app='app'> <head> <meta chars ...

  10. Dewplayer 音乐播放器

    Dewplayer 是一款用于 Web 的轻量级 Flash 音乐播放器.提供有多种样式选择,支持播放列表,并可以通过 JavaScript 接口来控制播放器. 注意事项: 该播放器只支持 mp3 格 ...