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# 异步工具类 及一点小小的重构经验

    2015年新年第一篇随笔, 祝福虽然有些晚,但诚意还在:新年快乐. 今天主要是想分享一异步工具类,在C/S架构中.先进行网络资源异步访问,然后将回调函数 Invoke到UI线程中进行UI处理. 这样的 ...

  2. MySQL 复制介绍及搭建

    MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard. M ...

  3. 一道java算法题分析

    最近在面试中遇到这样的一道算法题:       求100!的结果的各位数之和为多少?       如:5!=5*4*3*2*1=120,那么他们的和为1+2+0=3这道题不算难,不过倒是注意的细节也有 ...

  4. node.js 抓取网页数据

    var $ = require('jquery'); var request = require('request'); request({ url: 'http:\\www.baidu.com',/ ...

  5. Myeclipse10下载,安装,破解,插件,优化介绍

    一.Myeclipse10下载与破解 Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本.MyEclipse 10基于Eclip ...

  6. Android SDK 国内镜像及配置方法

    东软信息学院的 Android SDK 镜像,比配置代理下载快. 配置地址, http://mirrors.neusoft.edu.cn/configurations.we#android 配置步骤: ...

  7. import 本地Python module或package

    很基础很重要的一课,虽然很简单,但是防止以后忘了,还是记下来 这个笔记里说的都是import本地的,自己创建的,或者复制粘贴的别人的,总之“不是安装到library”的module or packag ...

  8. Community Value再理解

    其实之前写“从香港机房引入google/bitbucket路由”的时候,对community value的了解还并不深入,对Juniper default BGP export/import poli ...

  9. Devrama Slider - 支持任意 HTML 的内容滑块

    Devrama Slider 是一个图片滑块,支持很多特色功能.除了支持图片滑动,其它的 HTML 内容也支持.主要特色:响应式.图片预加载.图片延迟加载.进度条.自定义导航栏和控制按钮等等. 在线演 ...

  10. mysql整数字段 int bigint smallint tinyint

    mysql中int.bigint.smallint和tinyint的区别与长度 未完待续...