`

Java获取URL中的汉字编码

    博客分类:
  • java
 
阅读更多
public class Encoder { 
    public static String Encode(String text, String Endocing) { 
        StringBuffer result = new StringBuffer(); 
        for (int i = 0; i < text.length(); i++) { 
            char c = text.charAt(i); 
            if (c >= 0 && c <= 255) { 
                result.append(c); 
            } 
            else { 
                byte[] b = new byte[0]; 
                try { 
                    b = Character.toString(c).getBytes(Endocing); 
                } 
                catch (Exception e) { 
                    e.printStackTrace(); 
                } 
                for (int j = 0; j < b.length; j++) { 
                    int k = b[j]; 
                    if (k < 0) 
                        k += 256; 
                    result.append("%" + Integer.toHexString(k).toUpperCase()); 
                } 
            } 
        } 
        return result.toString(); 
    } 

    public static String EncodeKeyWords(String Words, String Encoding) { 
        String Codes = ""; 
        String Word = ""; 
        int i = 0; 
        Words += ' '; 
        while (i < Words.length()) { 
            if (Words.charAt(i) != ' ') { 
                Word += Words.charAt(i); 
            } 
            else { 
                Codes += Encode(Word, Encoding) + '+'; 
                Word = ""; 
            } 
            i++; 
        } 
        Codes = Codes.substring(0, Codes.length() - 1); 
        return Codes; 
    } 

       使用时 Encoder.EncodeKeyWords("关键字", "GB2312") 即返回相应的编码,其中GB2312是百度所使用的,需要Google的编码时应改成"UTF-8"。

来自http://gaofeihang.blog.163.com/blog/static/84508285201021032631948/

分享到:
评论

相关推荐

    Android开发人员不得不收集的代码

    编码解码相关→EncodeUtils.java→Test URL编码 urlEncode URL解码 urlDecode Base64编码 base64Encode base64Encode2String Base64解码 base64Decode Base64URL安全编码 base64UrlSafeEncode Html编码 htmlEncode ...

    jaava和jsp工具类

    [工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志文件的工具类 .java [工具类] 连接数据库的工具类 .java [工具类] 使用Java程序来实现HTTP文件的队列下载 ....

    java 面试题 总结

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    java面试题

    84.2. 我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 106 84.3. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。以下程序使用...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    java经典面试2010集锦100题(不看你后悔)

    B) 在Java中布尔类型不能和数字之间不能来回转换,即false和true不对应任何零或非零的值。 C) 双精度类型double比单精度类型float具有更高的精度和更大的表示范围,但float类型具有速度快、占用内存小的优点。 D) 在...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个...

    jsp编程技巧集锦

    java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录...

    ASP200问.EXE

    163.如何在ASP中调用Java类 164.如何在线压缩和解压缩WinRAR文件 第11章 综合开发 166.如何实现聊天室功能 167.如何实现网上投票调查 168.如何实现购物车功能 169.如何实现在线影音播放 170.如如何实现论坛功能 ...

    JAP编程学习100例

    89、在JSP中获取当前绝对路径 90、读取表单中所有参数 91、分行写入数据 92、显示请求URL 93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、...

    易语言程序免安装版下载

    取错误文本()”返回的文本是UTF-8编码(应是GB18030编码)。 -------------------------------------------------------------------------------- 易语言5.0 相对于易语言4.x更新说明(2010/02/01):  增加...

Global site tag (gtag.js) - Google Analytics