作者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
2F:→ jej:在不然主要不是要用来转码的话..加密一下..返回在解密.. 04/07 07:58
3F:→ KarlJhan:用这方法所产生的字串太长 04/07 15:32
4F:→ jej:不然就把String给Wrap起来..写一个WrapString自订hashCode.. 04/07 18:58
5F:→ LPH66:那我觉得原PO你还是把你的用途说一下好了 不然猜不到你要啥 04/08 00:13