1,              通常的操作方式:

首先我们建立表:CREATE TABLE "pages" ("id" varchar, "data" blob),然后了使用sql 语句。

sql = "SELECT id, CAST(data AS ByteArray) AS data FROM pages"

flex 的代码如下:

sql = "SELECT id, CAST(data AS ByteArray) AS data FROM pages"

 SQLConnection connection = new SQLConnection();
var file:File = File.applicationDirectory.resolvePath("assets\db\data.db");
connection.open(file); var state:SQLStatement = new SQLStatement();
state.text = sql;
state.sqlConnection = connection
state.execute(); var result:SQLResult = state.getResult();
var rows:int = result.data.length;
for(var i:int =0; i < rows; i++)
{ var row:Object = result.data[i];
var data:ByteArray = row[data];
}

2,              特殊的处理方式:

但是了,问题出现了,CAST(data AS ByteArray) AS data 这句,有时候,这个死活转不成bytearray,一直是0。这个问题困扰了我很久,我到adobe官网也查了半天,没有结果,最后找到sqlite 的 hex 函数。即改变sql 语句 SELECT id, hex(data) AS data FROM pages。

Hex 函数,其实就是把sqlite blob 类型的数据转换为字符串,具体怎么转了,比如是:55ffab这样。 其实每个字符是4个字节, 那55 就表示一个Byte 了,即8字节。所以了,我写两个函数,用来转换hex 为bytearray。

private function Hex2ByteArrayNew(hexStr:String):ByteArray
{
var ret:ByteArray = new ByteArray(); var leng:int = hexStr.length;
var newHexArrStr:String = "";
var step:int = 2;
var i:int = 0; while(i<leng)
{
try
{
//2 位一个byte
var tempI:int = parseInt(hexStr.substr(i,step),16); ret.writeByte(tempI); i += step;
}catch(e:Error)
{
trace(e);
}
}
return ret;
}

3,              Bytearray 处理的一些技巧

(1)       刚开始读取的时候,必须设置position = 0。

(2)       readUnsignedByte, 以及  readDouble ,这些是读取固定字节,转换成相应的数据类型。一般使用这些方法来读取。

flex sqlite 操作blog 二进制数据的更多相关文章

  1. sqlite3的图片的(二进制数据)存取操作

    sqlite3的图片的(二进制数据)存取操作   前言 上篇介绍了sqlite3的一些常用插入操作方法和注意事项,在实际项目中遇到了图片缓存的问题,由于服务器不是很稳定,且受到外界环境的干扰(例如断电 ...

  2. SQLite数据库如何存储和读取二进制数据

    SQLite数据库如何存储和读取二进制数据 1. 存储二进制数据 SQLite提供的绑定二进制参数接口函数为: int sqlite3_bind_blob(sqlite3_stmt*, int, co ...

  3. HTML5新特性之文件和二进制数据的操作

    历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处 ...

  4. HTML5新特性之文件和二进制数据的操作 Blob对象

    HTML5新特性之文件和二进制数据的操作 1.Blob对象 2.FileList对象 3.File对象 4.FileReader 对象 5.URL对象

  5. SQLite入门(二)读写二进制数据

    //读二进制数据的函数 BOOL OpenBinDataFile(BYTE **pBUf,UINT &len) {     if (pBUf == NULL)     {         re ...

  6. Java JDBC 操作二进制数据、日期时间

    二进制数据 mysql提供了四种类型来存储二进制数据: TinyBlob    最多可存储255字节 Blob   最多可存储65KB MediumBlob    最多可存储16MB LongBlob ...

  7. [Android新手区] SQLite 操作详解--SQL语法

    该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...

  8. 转载:【原译】Erlang构建和匹配二进制数据(Efficiency Guide)

    转自:http://www.cnblogs.com/futuredo/archive/2012/10/19/2727204.html Constructing and matching binarie ...

  9. mongodb存储二进制数据的二种方式——binary bson或gridfs

    python 版本为2.7 mongodb版本2.6.5 使用mongodb存储文件,可以使用两种方式,一种是像存储普通数据那样,将文件转化为二进制数据存入mongodb,另一种使用gridfs,咱们 ...

随机推荐

  1. oracle同义词是什么意思?

    相当于alias,比如把user1.table1 在user2中建一个同义词table1create synonym table1 for user1.table1;这样当我们在user2中查sele ...

  2. aarch64_l3

    librdmacm-utils-1.1.0-4.fc26.aarch64.rpm 2017-02-12 07:12 87K fedora Mirroring Project libreadline-j ...

  3. Flask:初见

    Windows 10家庭中文版,Python 3.6.4 从Flask官网开始学起. 介绍 Flask是一个Python的Web开发微框架,基于Werkzeug.Jinja2模块(and good i ...

  4. 金融数据分析 - 利用 Tushare Pro 平台 获取金融数据

    Tushare金融大数据开放社区 免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资. 详见 https://tushare.pro/

  5. UFLDL 教程学习笔记(三)

    教程地址:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/ logstic regression是二分类的问题,如果想要 ...

  6. information_schema Introduction

    information_schema介绍 information_schema数据库是MySQL自带的,里面的“表”保存着服务器当前的实时信息.它提供了访问数据库元数据的方式.元数据是关于数据的数据, ...

  7. Python之Selenium的爬虫用法

    Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手).也就是说 Sel ...

  8. day7 socket网络编程基础

    Socket Socket是什么? 下面来看一下网络的传输过程: 上面图片显示了网络传输的基本过程,传输是通过底层实现的,有很多底层,我们写传输过程的时候,要知道所有的过程那就太复杂了,socket为 ...

  9. JavaScript中正则的使用(1)

    通过例子学习正则中的常见语法(1) $num javascript var a = 'javascript'; var b = a.replace(/(java)(script)/gi, '$2-$1 ...

  10. Winsock—I/O模型之选择模型(一)

    Winsock中提供了一些I/O模型帮助应用程序以异步方式在一个或多个套接字上管理I/O. 这样的I/O模型有六种:阻塞(blocking)模型,选择(select)模型,WSAAsyncSelect ...