vb 中如何将string转化为byte[]数组

Dimimagebytes()AsByteimagebytes=StrConv(CByte(dr.Rows(0).Item("Content")),vb)... Dim imagebytes() As Byte

imagebytes = StrConv(CByte(dr.Rows(0).Item("Content")), vb)
展开
 我来答
网海1书生
科技发烧友

2019-03-18 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
如果string包含的是二进制数据或者是ANSI编码格式的文本,直接赋值给byte数组变量即可(是的,就是这么简单):

imagebytes = dr.Rows(0).Item("Content")
如果是Unicode编码格式的文本(这是VB内部默认的编码格式),则需要转换一下:
imagebytes = StrConv(dr.Rows(0).Item("Content"), vbFromUnicode)
原理很简单,字节数组在内存中的排列方式与字符串是完全一样的(一个字节就是一个字符),所以这两种数据类型其实是可以互换的,唯一要注意的就是编码问题,Unicode编码格式下,所有字符(包括半角的字母、数字、符号以及全角的汉字等)都是占用两个字节的,所以需要转换为原始的ANSI格式(半角字符占用一个字节,全角字符占用两个字节)。
追问
若是0x之类的16进制呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式