日期:2014-05-20  浏览次数:21004 次

java中的字符串转为byte类型?怎么转?
各位大侠,java中将字符串转为byte型,貌似有个getbytes(),但是这是等长度转化,小弟现在的问题是,怎么将“1001”转化为2个bytes,C#中有个convertToByte()里面的参数可以制定,但是,java中有这样的吗?

------解决方案--------------------
没明白你说的等长度转化是什么意思 1001为啥要转换成两个字节? 明明是四个char 如果你想问的是整型如何转换为字节的话 强制转换就好了
------解决方案--------------------
...这个需求有几个地方有问题 比如 需求1 是让你根据什么将这个字符串转换为byte类型? 是先转换成整型再拆成byte存储还是直接调用String的getBytes? 我倒是感觉是前者 那样的话你后面所说的什么四个字节压缩成两个字节的行为我也能能理解了(根本就不会有四个字节..)
------解决方案--------------------
貌似不能的,不能转成byte。

------解决方案--------------------
强制转换的话会丢精度的 不知道哦你什么意思 难道你想将1001分别放到两个byte中 这必须写个方法才能实现
------解决方案--------------------
分成两部分分别存储??
------解决方案--------------------
安装你这样的需求,那么你首先得为你的字符串转2字节byte做一个转换规则,比如把1001先转换成Integer,然后再装16进制,32进制或者其他。在我看来,创建规则的原则就终于你数据库中存放的字符串到底有多长,或有多大。
PS:数据库支持存放byte类型,为什么不在数据库中就把学号定义成byte类型呢。
------解决方案--------------------
现在的问题就是需要先知道单片机中存储的究竟是怎样的数据,光说2个字节是不够的,这两个字节具体是怎样的?直接存的int型数据,还是做了什么转换后的结果
------解决方案--------------------
强制转换。用包装类 Byte
------解决方案--------------------
Integer.toHexString(1001)//3e9-->0011 1110 1001