作者gimmy731031 (yuancheng)
看板java
标题[问题] Java byte 存入 Oracle Raw Data Type & 用byte储存img 疑问
时间Thu Sep 29 21:34:08 2011
各位先进大家好,小弟有个问题想和前辈们请教一下,
Java 在 byte 的宣告,就我所知可用 byte = -1 or byte = 0xff两种方式,
在存入Oracle Raw Data Type时,会以二进制(eg:11111111)方式存入,
但我有个疑问,为什麽 byte 一定要用10进制 or 16进制方式宣告,
之後Oracle再把值转成二进制存入,如此一来不就显得多此一举,
我在想可不可以直接用二进制塞入DB,让系统不用再经过这一段的转换,
另外一个问题也是类似的问题,
就是 Java 使用 3 bytes 储存图片 R.G.B 三个颜色的值,
在给这 3 个值时,是直接给各个 byte 一个10进位 or 16进位的值吗?
还是说是直接给二进制的值呢? 如果是给二进制的值,就会回到上面想问的问题,
就是如何喂给 byte 二进制的值,并把这个值传给DB,
以上,先谢谢各位前辈了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.146.83.43
1F:→ PsMonkey:宣告是给人看的... 09/29 21:55
※ 编辑: gimmy731031 来自: 122.146.83.43 (09/29 21:58)
2F:→ gimmy731031:恩恩~那如果存RGB不需给人看的话,是用binary存入吗?想 09/29 22:03
3F:→ gimmy731031:了解系统是如何做到将二进制值传给byte @@? 09/29 22:06
4F:→ gimmy731031:补充一下RGB不需给人看是因为pixel会自动抓取RGB数值 09/29 22:08
5F:推 LPH66:对电脑来说 0xFF 255 0377 (二进位的)11111111 都是一样的 09/29 22:20
6F:→ LPH66:程式中不管你怎麽写最後存进电脑就一定是二进位的值 09/29 22:22
7F:→ LPH66:不管你是做什麽运算 什麽资料 通通都是一样的 09/29 22:24
8F:→ LPH66:只是 Java 7 之前我们不能直接在程式里写上 0b11111111 而已 09/29 22:26
9F:→ LPH66:你只要想成电脑记的是 255 这个数而不是 '2' '5' '5' 三个字 09/29 22:31
10F:→ LPH66:就不会被进位问题困扰了 (话说我这样推好像不如另起新文..) 09/29 22:32
11F:→ gimmy731031:感谢L大~在网路上有看到相同的说法,但Raw只能读取2进 09/29 22:39
12F:→ gimmy731031:制,给255系统应该还是要另外转换成binary,如果直接 09/29 22:42
13F:→ gimmy731031:能给binary值,系统就不用转换了~还是我观念有误@@? 09/29 22:44
14F:推 waterleader:bianry->binary 09/29 22:45
15F:→ gimmy731031:阿阿~打字没注意到^^" 09/29 22:49
16F:→ james732:我知道原po的问题,但实在不知要怎麽讲才会清楚... 09/29 23:12
※ 编辑: gimmy731031 来自: 122.146.83.43 (09/30 00:32)
※ 编辑: gimmy731031 来自: 122.146.83.43 (09/30 00:33)
17F:→ sbrhsieh:数值就是数值,没有进制之分. 进制是描述数值的方式 09/30 01:10
18F:推 LPH66:这麽说好了 就算需要转也不是你的程式在转 09/30 03:13
19F:→ LPH66:而是 javac 在编译时就先翻好了 程式只是拿来运算而已 09/30 03:14
20F:→ LPH66:不管你写 0xFF 255 0377 0b11111111 都一样 javac 翻过之後 09/30 03:16
21F:→ LPH66:.......(还是看回文好了 orz 总觉得又会推一串) 09/30 03:18