sql 读出来的16进制怎么转10进制

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:14:50
0x64727A687A64715F3100000000000000000000007600006500CED2BECDCDE6D2BBBBE100000000000000000000000000000000000000000000000008000C0009000E004E002C002A0082000000EF0C0000141600000000000000000000000000000000000000000000000000000000000000000000000000000000961E000082

比如以上代码。回答的好追加50分
绝对是X。是从SQL SERVER 2000数据库中查出来的 varbinary 类型数据

同意gwes的说法。
而且不仅如此,首先请确定你真正需要存的是什么东西,varbinary应该是存一些较小的二进制文件用的,所以我认为有较大的可能是你数据库设计的时候用错了类型。
如果你确认不是数据库设计出错或者你无法更改这个数据库的话
那么搞清楚这个字段是用来存什么的,文件?图片?objec(序列化后)?对于每种方法都有不同的处理方法,而且也和你所用的编译语言有关。java?c#?c++?
话说c++处理这种东西会非常麻烦,java和c#你应该能找到正确的函数的。不过首先是确定这个字段存的是什么东西!

顺便bs下前面说16进制不能有x的,我真不知道说什么好,0x的意思是:在此之后的字符串是16进制表示的。
比如0x1e就是十进制的30。

你知道你在读取的是什么么???
还有是32位还是64位机器?

我想你没有清楚自己要做什么。你知道你为什么要把他转成十进制吗??

给你举个例子,假设数据库里有“你好”这两个字,按照你的方法“查”出来对应的大概会类似于:
0x5684586f18645c8984ba15000000bc5648...
然后你还要把他转成十进制么?

你得到的是一个数据流,我想你要做的也许是使用类似BinaryReader的东西将你读到的这个数据流“翻译”回去。。

这上面的代码不是16进制的,。

不要去转化了。

16进制不会出现上面的代码。 怎么能有X呢?

要是不是X那么就是0

等于 drzhzdq_1

给个Delphi 的转化例子:

procedure TForm1.Button1Click(Sender: TObject);
function DeleteSpace(ss: String): String;
var //删除字符串中所有的空格
i: Integer;
begin
Result := ss;
i := 1;
while i <= Len