逸逸记事
逸逸记事

我的分类(专题)

首页(175)
儿子(9)
SIP技术(9)
Web2.0(12)
摄影和DVD(8)
软件开发随笔(18)
名古屋打工生活(11)
微软技术开发(47)
Java技术(12)
加拿大移民生活(20)
生活点滴(6)
第一份工作--上海贝尔(18)
完成项目(13)
回国后的生活(0)


最新日志
独行者
终于知道什么叫外包了
人生悲哀之事
水晶报表中显示动态图片
水晶报表中的简单参数设置
怀念下小黑
dotnet中的数据连接Timeout
老板的思路
又买房了
交通事故

最新回复
回复:独行者
回复:怀念下小黑
回复:老板的思路
回复:mjSip学习笔记
回复:老板的思路
回复:dotnet中的数据连接Timeo
回复:mjSip学习笔记
回复:交通事故
回复:交通事故
回复:又买房了

留言板

签写新留言

您好,很希望问您一个关于jain-sip
生活经历就是最大的财富,羡哦~
java的Web开发问题
回复:疑问
IT还不如妓女呢,呵呵
myjavaserver的空间
求助
您的子域名已开通

统计
blog名称:人在旅途
日志总数:175
评论数量:505
留言数量:13
访问次数:1670379
建立时间:2005年12月7日

链接

 

生命是过客,人在旅途。奶奶是信基督教的,没啥文化,却养育了四子二女,还带过九个孙辈。老人家对生命的看法就是“人都是客人,迟早要回去的。”就以《人在旅途》来纪念她。

 

«September 2025»
123456
78910111213
14151617181920
21222324252627
282930

公告
  本人上传的源程序中可能引用或使用了第三方的库或程序,也可能是修改了第三方的例程甚至是源程序.所以本人上传的源程序禁止在以单纯学习为目的的任何以外场合使用,不然如果引起任何版权问题,本人不负任何责任.




     本站首页    管理页面    写新日志    退出
调整中...
[Java技术]关于CHARACTER SET的范围大小
人在旅途 发表于 2008/5/13 13:42:21

JAVA中CHARACTER SET的设置和转化不当会导致乱码的出现,但即使设置和转化都正确,有些特殊的文字仍会经过转换去并转换回后表现为乱码,这是因为CHARACTER SET的范围是有大小的,从大范围CHARACTER SET转化到小范围CHARACTER SET,当然会丢失一部分文字(特殊文字). 日文方面,最大范围的CHARACTER SET是:MS932,EUC_JP_Solaris. Shift_JIS和EUC_JP都是较小范围的CHARACTER SET    1 全角文字           あ   2 半角カナ           ア   3 CP932関連           ¢   4 NEC特殊文字           ①   5 NEC選定IBM拡張文字           ⅰ   6 IBM拡張文字           惲    ■ 文字コードの種類        JISコード      シフトJISコード      EUCコード      Unicode(UCS-2)      ■ 文字コード表    JIS X 0208文字コード   01区~08区  各種記号、英数字、かな   09区~15区  未定義(機種依存)  (13区        NEC拡張外字)   16区~47区  JIS第一水準漢字   48区~84区  JIS第二水準漢字   85区~94区  未定義(機種依存)  (89区~92区  NEC拡張外字)  0 1 2 3 4 5 6 7 8 9 A B C D E F8740 ①  ②  ③  ④  ⑤  ⑥  ⑦  ⑧  ⑨  ⑩  ⑪  ⑫  ⑬  ⑭  ⑮  ⑯ 8750 ⑰  ⑱  ⑲  ⑳  Ⅰ  Ⅱ  Ⅲ  Ⅳ  Ⅴ  Ⅵ  Ⅶ  Ⅷ  Ⅸ  Ⅹ    ㍉ 8760 ㌔  ㌢  ㍍  ㎜  ㌘  ㌧  ㌃  ㌶  ㍑  ㍗  ㌍  ㌦  ㌣  ㌫  ㍊  ㌻ 8770  ㎝  ㎞  ㎎  ㎏  ㏄  ㎡         ㍻  8780 〝  〟  №  ㏍  ℡  ㊤  ㊥  ㊦  ㊧  ㊨  ㈱  ㈲  ㈹  ㍾  ㍽  ㍼8790 ≒  ≡  ∫  ∮  ∑  √  ⊥  ∠  ∟  ⊿  ∵  ∩  ∪     87A0                87B0                87C0                87D0                87E0                87F0                 ■NEC選定IBM拡張文字(0xED40 - 0xEEFC)                  0 1 2 3 4 5 6 7 8 9 A B C D E FED40 纊  褜  鍈   銈  蓜  俉  炻  昱  棈  鋹  曻  彅  丨  仡  仼  伀ED50 伃  伹  佖  侒  侊  侚  侔  俍  偀  倢  俿  倞  偆  偰  偂  傔ED60 僴  僘  兊  兤  冝  冾  凬  刕  劜  劦  勀  勛  匀  匇  匤  卲 ED70 厓  厲  叝  﨎  咜  咊  咩  哿  喆  坙  坥  垬  埈  埇 﨏  ED80 塚 增 墲 夋 奓 奛 奝 奣 妤 妺 孖 寀 甯 寘 寬 尞ED90 岦 岺 峵 崧 嵓 﨑 嵂 嵭 嶸 嶹 巐 弡 弴 彧 德 忞EDA0 恝 悅 悊 惞 惕 愠 惲 愑 愷 愰 憘 戓 抦 揵 摠 撝EDB0 擎 敎 昀 昕 昻 昉 昮 昞 昤 晥 晗 晙 晴 晳 暙 暠EDC0 暲 暿 曺 朎 朗 杦 枻 桒 柀 栁 桄 棏 﨓 楨 﨔 榘EDD0 槢 樰 橫 橆 橳 橾 櫢 櫤 毖 氿 汜 沆 汯 泚 洄 涇EDE0 浯 涖 涬 淏 淸 淲 淼 渹 湜 渧 渼 溿 澈 澵 濵 瀅EDF0 瀇 瀨 炅 炫 焏 焄 煜 煆 煇 凞 燁 燾 犱   EE40 犾 猤 猪 獷 玽 珉 珖 珣 珒 琇 珵 琦 琪 琩 琮 瑢EE50 璉 璟 甁 畯 皂 皜 皞 皛 皦 益 睆 劯 砡 硎 硤 硺EE60 礰 礼 神 祥 禔 福 禛 竑 竧 靖 竫 箞 精 絈 絜 綷EE70 綠 緖 繒 罇 羡 羽 茁 荢 荿 菇 菶 葈 蒴 蕓 蕙 EE80 蕫 﨟 薰 蘒 﨡 蠇 裵 訒 訷 詹 誧 誾 諟 諸 諶 譓EE90 譿 賰 賴 贒 赶 﨣 軏 﨤 逸 遧 郞 都 鄕 鄧 釚 釗EEA0 釞 釭 釮 釤 釥 鈆 鈐 鈊 鈺 鉀 鈼 鉎 鉙 鉑 鈹 鉧EEB0 銧 鉷 鉸 鋧 鋗 鋙 鋐 﨧 鋕 鋠 鋓 錥 錡 鋻 﨨 錞EEC0 鋿 錝 錂 鍰 鍗 鎤 鏆 鏞 鏸 鐱 鑅 鑈 閒 隆 﨩 隝EED0 隯 霳 霻 靃 靍 靏 靑 靕 顗 顥 飯 飼 餧 館 馞 驎EEE0 髙 髜 魵 魲 鮏 鮱 鮻 鰀 鵰 鵫 鶴 鸙 黑   ⅰEEF0 ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ¬ ¦ ' "    ■IBM拡張文字(0xFA40 - 0xFC4B)                  0 1 2 3 4 5 6 7 8 9 A B C D E FFA40 ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ ⅥFA50 Ⅶ Ⅷ Ⅸ Ⅹ ¬ ¦ ' " ㈱ № ℡ ∵ 纊 褜 鍈 銈FA60 蓜 俉 炻 昱 棈 鋹 曻 彅 丨 仡 仼 伀 伃 伹 佖 侒FA70 侊 侚 侔 俍 偀 倢 俿 倞 偆 偰 偂 傔 僴 僘 兊 FA80 兤 冝 冾 凬 刕 劜 劦 勀 勛 匀 匇 匤 卲 厓 厲 叝FA90 﨎 咜 咊 咩 哿 喆 坙 坥 垬 埈 埇 﨏 塚 增 墲 夋FAA0 奓 奛 奝 奣 妤 妺 孖 寀 甯 寘 寬 尞 岦 岺 峵 崧FAB0 嵓 﨑 嵂 嵭 嶸 嶹 巐 弡 弴 彧 德 忞 恝 悅 悊 惞FAC0 惕 愠 惲 愑 愷 愰 憘 戓 抦 揵 摠 撝 擎 敎 昀 昕FAD0 昻 昉 昮 昞 昤 晥 晗 晙 晴 晳 暙 暠 暲 暿 曺 朎FAE0 朗 杦 枻 桒 柀 栁 桄 棏 﨓 楨 﨔 榘 槢 樰 橫 橆FAF0 橳 橾 櫢 櫤 毖 氿 汜 沆 汯 泚 洄 涇 浯   FB40 涖 涬 淏 淸 淲 淼 渹 湜 渧 渼 溿 澈 澵 濵 瀅 瀇FB50 瀨 炅 炫 焏 焄 煜 煆 煇 凞 燁 燾 犱 犾 猤 猪 獷FB60 玽 珉 珖 珣 珒 琇 珵 琦 琪 琩 琮 瑢 璉 璟 甁 畯FB70 皂 皜 皞 皛 皦 益 睆 劯 砡 硎 硤 硺 礰 礼 神 FB80 祥 禔 福 禛 竑 竧 靖 竫 箞 精 絈 絜 綷 綠 緖 繒FB90 罇 羡 羽 茁 荢 荿 菇 菶 葈 蒴 蕓 蕙 蕫 﨟 薰 蘒FBA0 﨡 蠇 裵 訒 訷 詹 誧 誾 諟 諸 諶 譓 譿 賰 賴 贒FBB0 赶 﨣 軏 﨤 逸 遧 郞 都 鄕 鄧 釚 釗 釞 釭 釮 釤FBC0 釥 鈆 鈐 鈊 鈺 鉀 鈼 鉎 鉙 鉑 鈹 鉧 銧 鉷 鉸 鋧FBD0 鋗 鋙 鋐 﨧 鋕 鋠 鋓 錥 錡 鋻 﨨 錞 鋿 錝 錂 鍰FBE0 鍗 鎤 鏆 鏞 鏸 鐱 鑅 鑈 閒 隆 﨩 隝 隯 霳 霻 靃FBF0 靍 靏 靑 靕 顗 顥 飯 飼 餧 館 馞 驎 髙   FC40 髜 魵 魲 鮏 鮱 鮻 鰀 鵰 鵫 鶴 鸙 黑     注:MYSQL对有些文字不能对应,所以把文字存到MYSQL前要转化成它可对应的别的文字,取出来时再转化回去. //save to DB(MYSQL)    public static String toJIS(String s) {     if (s == null) {      s = "";     }       StringBuffer sb = new StringBuffer();        char c;        for (int i = 0; i < s.length(); i++) {            c  = s.charAt(i);            switch (c) {                case 0xff3c: // FULLWIDTH REVERSE SOLIDUS ->                    c = 0x005c; // REVERSE SOLIDUS                    break;                case 0xff5e: // FULLWIDTH TILDE ->                    c = 0x301c; // WAVE DASH                    break;                case 0x2225: // PARALLEL TO ->                    c = 0x2016; // DOUBLE VERTICAL LINE                    break;                case 0xff0d: // FULLWIDTH HYPHEN-MINUS ->                    c = 0x2212; // MINUS SIGN                    break;                case 0xffe0: // FULLWIDTH CENT SIGN ->                    c = 0x00a2; // CENT SIGN                    break;                case 0xffe1: // FULLWIDTH POUND SIGN ->                    c = 0x00a3; // POUND SIGN                    break;                case 0xffe2: // FULLWIDTH NOT SIGN ->                    c = 0x00ac; // NOT SIGN                    break;                case 0x2015: // HORIZONTAL BAR                     c = 0x2014;  // EM DASH                 break;            }            sb.append(c);        }        return new String(sb);    } //load from DB(MYSQL)     public static String toCp932(String s) {      if (s == null) {       s = "";      }        StringBuffer sb = new StringBuffer();        char c;        for (int i = 0; i < s.length(); i++) {            c = s.charAt(i);            switch (c) {                case 0x005c: // REVERSE SOLIDUS ->                    c = 0xff3c; // FULLWIDTH REVERSE SOLIDUS                    break;                case 0x301c: // WAVE DASH ->                    c = 0xff5e; // FULLWIDTH TILDE                   break;                case 0x2016: // DOUBLE VERTICAL LINE ->                    c = 0x2225; // PARALLEL TO                    break;                case 0x2212: // MINUS SIGN ->                    c = 0xff0d; // FULLWIDTH HYPHEN-MINUS                    break;                case 0x00a2: // CENT SIGN ->                    c = 0xffe0; // FULLWIDTH CENT SIGN                    break;                case 0x00a3: // POUND SIGN ->                    c = 0xffe1; // FULLWIDTH POUND SIGN                    break;                case 0x00ac: // NOT SIGN ->                    c = 0xffe2; // FULLWIDTH NOT SIGN                    break;                case 0x2014:    // EM DASH                        c = 0x2015;        // HORIZONTAL BAR                    break;                  }            sb.append(c);        }        return new String(sb);    }  

阅读全文(4170) | 回复(0) | 编辑 | 精华


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.107 second(s), page refreshed 144786792 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号