PB如何实现byte[]与string相互转换

qvestx 2010-11-03 05:02:15
如题,如提供blob与string相互转换的方法也可以。
...全文
2919 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
raopengfei1979 2021-06-12
  • 打赏
  • 举报
回复

怎么处理pb 文件流 转 字节数组

qvestx 2010-11-11
  • 打赏
  • 举报
回复
结帖~~~~
zlf19810306 2010-11-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qvestx 的回复:]
经过反复测试,测试的结果:
1.blob如为从string转换、读取的文本文件及其它可用文本打开的文件的,blob、string相互转换正常
2.blob如为读取的类似.dll等用文本文件不可打开的文件的,blob、string相互转换不正确

测试了打开读取文件的各种模式,均未成功。

不知道有什么解决方法没有。
[/Quote]

这个是当然,读txt的时候,并不是直接从文件第一个数据开始读取的,txt有个文件头,文件头后才是文件的内容。文件头里对文本文件的一些编码等做了说明的.
读dll,文件是直接从文件第一个数据开始读取的,这也就是你把同一段string,保存成txt,和二进制文件,一个可以正确读出,一个却是乱码的原因
qvestx 2010-11-06
  • 打赏
  • 举报
回复
请注意4楼
要求的效果是把lb_blob1转为ls_str,最后这个string又可以转回lb_blob2,转回的lb_blob2应该跟lb_blob1完全相同。
可是这样转换完后lb_blob2<>lb_blob1。

问题是:
string转成的blob,使用此函数无误;读取文件得到的blob,使用这个个转换后结果不正确。
qvestx 2010-11-06
  • 打赏
  • 举报
回复
经过反复测试,测试的结果:
1.blob如为从string转换、读取的文本文件及其它可用文本打开的文件的,blob、string相互转换正常
2.blob如为读取的类似.dll等用文本文件不可打开的文件的,blob、string相互转换不正确

测试了打开读取文件的各种模式,均未成功。

不知道有什么解决方法没有。
184270428 2010-11-05
  • 打赏
  • 举报
回复

byte b_array[]
string s
long n,ll_count
ll_count = len(s)
for n = 1 to ll_count
b_array[n] = byte(asc(min(s,n,1)))
end for

xiaobn_cn 2010-11-05
  • 打赏
  • 举报
回复
答案已经给你了啊,还有不明白的说出来,只有求教两个字我们真不知道该回答什么好。
qvestx 2010-11-03
  • 打赏
  • 举报
回复
求教,谢谢
qvestx 2010-11-03
  • 打赏
  • 举报
回复
......
ls_str = String ( lb_bolb1,EncodingANSI! )
lb_blob2 = blob(ls_str,EncodingANSI! )
此时
len( lb_bolb1) = 6109632
len( lb_bolb2) = 5

要求的效果是把lb_blob1转为ls_str,最后这个string又可以转回lb_blob2,转回的lb_blob2应该跟lb_blob1完全相同。
可是这样转换完后lb_blob2<>lb_blob1。
xiaobn_cn 2010-11-03
  • 打赏
  • 举报
回复
blob转string:
string(blob [,encoding])
string转blob:
blob(string [,encoding])
blob转数组:
GetByteArray ( blob )
数组转blob:
Blob ( array[ ] )

encoding参数的取值范围如下:
EncodingANSI!
EncodingUTF8!
EncodingUTF16LE! (default)
EncodingUTF16BE!
xuam 2010-11-03
  • 打赏
  • 举报
回复
string(bolb)

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧