java.net.URI类可以帮助;在URL的文档中找到

Note, the URI class does perform escaping of its component fields in certain circumstances. The recommended way to manage the encoding and decoding of URLs is to use an URI

使用带有多个参数的构造函数,如:

URI uri = new URI(

"http",

"search.barnesandnoble.com",

"/booksearch/first book.pdf",

null);

URL url = uri.toURL();

//or String request = uri.toString();

(URI的单参数构造函数不转义非法字符)

编辑:添加完全限定类名,以避免与其他URI类(如apaches httpclient)混淆,

EDIT 2:

只有非法字符通过上述代码转义 – 它不转义非ASCII字符(参见fatih的注释)。

toASCIIString方法可用于获取仅包含US-ASCII字符的字符串:

URI uri = new URI(

"http",

"search.barnesandnoble.com",

"/booksearch/é",

null);

String request = uri.toASCIIString();

编辑3:

对于包含诸如http://www.google.com/ig/api?weather=SãoPaulo的查询的网址,请使用构造函数的5参数版本:

URI uri = new URI(

"http",

"www.google.com",

"/ig/api",

"weather=São Paulo",

null);

String request = uri.toASCIIString();

java http url 编码_Java中的HTTP URL地址编码相关推荐

  1. java 字节编码_java中字符与字节的编码关系

    一个英文字母字符存储需要1个字节.在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节. 在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节.在 ...

  2. JPEG编码过程中的霍夫曼编码

    JPEG编码过程中的霍夫曼编码 jpeg文件中的霍夫曼编码分两个部分对DC系数编码和对AC系数的编码. DC系数的编码 编码过程 DC系数的编码由两部分组成, huffman 编码的bitlen + ...

  3. java utf-8字符表_Java中的ASCII、Unicode和UTF-8字符编码集

    首先讲一下几种字符的编码方式: 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态 ...

  4. java链接_JAVA中三种URL连接方法

    Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通 ...

  5. java bufferedinputstream 编码_java中关于编码的问题(字符转换流及字符缓冲流 )

    上次我们使用的是字节流,还有一种方式就是字符流,上次说过如何分辨使用哪种流,如果记事本可以读懂则使用字符流,否则使用字节流.使用字符流就需要牵扯到编码的问题,下面给出一种转化流的格式. OutputS ...

  6. java url类_Java中的URL类和示例 - Break易站

    URL类是Internet上任何可用资源的网关.类URL表示统一资源定位符,它是指向万维网上"资源"的指针.资源可以指向简单的文件或目录,也可以引用更复杂的对象,例如对数据库或搜索 ...

  7. java设计模式代理模式_Java中的代理设计模式

    java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...

  8. java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件

    获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...

  9. java资源文件路径_Java 中获取资源(文件)的路径问题总结

    Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...

最新文章

  1. php a标签 执行js,关于a标签不能调用js方法的小细节,你注意到了么?
  2. ISA2006英文版实验手册下载
  3. 淘宝网商品库优化实践访谈
  4. 18岁初中毕业学Java_刚满十八 初中毕业 java自学完了 没学历 该怎么办?
  5. 使用Selenium和HTML中的动态ID进行Java测试
  6. 博主已开启评论精选什么意思_小白必看!想要成为小红书博主,首先要掌握4个工具!...
  7. SQL Server 2005中的SQLCMD工具使用
  8. mysql内置时间函数大全_MySQL 的时间函数 大全
  9. 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧
  10. CSS中可以让文字在水平和垂直方向上重叠的两个属性
  11. 解决服务器被黑上不了网的问题
  12. 如何下载Discuz
  13. 揭露QPS增高后的秘密
  14. 图像处理之全景拼接---基于sift的全景图像拼接
  15. 账龄分析表excel模板_老会计分享财务报表及EXCEL会计报表分析系统模板!收藏领取!...
  16. Face Recognition 人脸识别该如何测试
  17. 流程图文字及数据表内外连接
  18. linux 图片修复,照片修复精灵软件-照片修复精灵手机版下载v1.0.1-Linux公社
  19. 【剑桥摄影协会】针对摄影的显示器校准
  20. STM32F103频率计

热门文章

  1. python语音转文字软件_python编写语音转文字软件|语音转文字工具免费版下载(语音批量转换文字) v2.0 最新版_数码资源网...
  2. bba70_BBA的完整形式是什么?
  3. 使用OpenCV在Python中进行人脸和眼睛检测
  4. java对数组进行排序_用Java对数组进行排序所需的最少交换
  5. 各大厂面试高频的面试题新鲜出炉,你能答上几道?
  6. 图解面试题:找出数组中重复的数字?
  7. ssh框架常见错误与解决方法
  8. 安卓安装kali linux之Termux
  9. 蓝桥杯试题 算法提高 数组求和
  10. 认识和选购极致画质的显示器