作者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