作者LPH66 (-858993460)
看板java
標題Re: [問題] 中文轉碼方法
時間Thu Apr 7 03:08:07 2011
※ 引述《KarlJhan ()》之銘言:
: 請問有哪些方法能將"中文(簡中、繁中)",轉換成純數字,或包含英文,但不含特殊字完
: 而這個碼,是唯一的,不重覆、不含負號,且每一次轉換的值都一樣,不會改變
: 因HASH會有負數,所以不適用。
: 謝謝
你的用途到底是? 一邊說要不重覆一邊又說 .hashCode() 因為有負數不能用....
如果是類似 hash 的用途的話 其實 .hashCode() 真的夠用了
你討厭負數的話就自己 & 0x7FFFFFFF 就好啦...
要說不重覆 .hashCode() 也會重覆啊
"aa".hashCode() 和 "bB".hashCode() 都是 3104...
如果這種程度的重覆沒關係的話就 .hashCode() 再 & 0x7FFFFFFF 就行了
如果真的非常需要唯一性 (例如要解碼)
那你根本就不該試 .hashCode()
而是直接將每個字的 char 值用 .charAt() 抓出來後直接轉換成你需要的形式
例如 "一二三四五" 五個字的 char 值分別是 19968 20108 19977 22235 20116
你可以直接五位五位接起來變成 1996820108199772223520116
也可以用 Integer.toHexString() 轉成十六進位後
四位四位接起來變成 4e004e8c4e0956db4e94
等等 方法很多的
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █
▄▄▄▄▄
▍
./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎
⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏
ζ(▏●‵◥′●▊)Ψ ▏ █
⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主義 █
▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢
S.O.S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.230.62
→ jej:在不然主要不是要用來轉碼的話..加密一下..返回在解密.. 04/07 07:58
→ KarlJhan:用這方法所產生的字串太長 04/07 15:32
→ jej:不然就把String給Wrap起來..寫一個WrapString自訂hashCode.. 04/07 18:58
→ LPH66:那我覺得原PO你還是把你的用途說一下好了 不然猜不到你要啥 04/08 00:13