URI解析非英文的问题
来源:互联网 发布:武汉旅游 知乎 编辑:程序博客网 时间:2024/05/03 16:14
之前看到一个tester提交的代码修了一个处理URI解析的问题,其中有一步是想得到一个传入的uri的绝对路径,当然之前的代码理所当然地用了uri.AbsoluteUri来取值,这个当然没有问题。但是,localization的问题又来了,现在的场景是传入了一个非EN的path,比如:
string local = @"E:/サwォ’アフィ.xt", 然后在debug时看到的信息是这样的:
- uri {file:///E:/サwォ’アフィ;txt} System.Uri
AbsolutePath "E:/%E3%82%B5%EF%BD%97%E3%82%A9%E2%80%99%E3%82%A2%E3%83%95%E3%82%A3;txt" string
AbsoluteUri "file:///E:/%E3%82%B5%EF%BD%97%E3%82%A9%E2%80%99%E3%82%A2%E3%83%95%E3%82%A3;txt" string
很明显,这里的日文字符作了编码,所以才看到了%**。 当然,现在的代码是用了uri.ToString()直接得到uri的全部内容,到目前为止这个tester没有想到除此以外的方法 =)
不过针对这点,作了一个小调查,即为什么uri在AbsolutePath/AbsoluteUri得不到预期的内容?
http://en.wikipedia.org/wiki/URI_encoding#Types_of_URI_characters 里面可能会有一些启示,大致的意思是uri会有2种percent-encoding的方式,reserved模式是针对一些特殊字符的,比如!·##¥,etc;
unreserved模式则是针对除此以外的字符,比如一些unicode的东西。所以看到%**是一种dy design的现象,所以C#的URI得到的是编码后的结果。
这个小问题给出的启示是:有时候会忽略本地化的问题,不管是开发还是测试都是如此。当然在作测试时候,特别那些接受输入时候api,请试试一些中文(unicode), 说不定你的api 就有问题了。
- URI解析非英文的问题
- URI的详细解析
- URI的详细解析
- PHP 解析xml(包含非英文字符)
- 解决拾取图片回来解析真实URI有冒号的问题
- UILable“中文”加上“英文或者其他非中文字符”自动换行的问题
- UILable 中文加上英文或者其他非中文字符自动换行的问题
- C#中Uri类的解析
- delphi英文后缀名的解析
- jFreeReport显示非英文字符的解决办法
- Drupal 建立非英文网页的设置
- URI的详细解析 URL的详细解析
- URI中特殊符号的编码问题
- jsp 自定义taglib的uri问题
- 常见的英文面试问题
- inotes英文版的问题
- 简单高效uri解析
- Android Uri参数解析
- jQuery使用手册(五)
- 覆盖、重载、多态
- windows ce 嵌入式系统读书笔记(一)
- Linux学习之mount
- 一个代码转换的工具
- URI解析非英文的问题
- 获取Windows系统的内核变量
- ASP.NET程序中常用的代码
- 世界智能化进程加速 MCU市场潜力无限
- CRF+Windows+Unicode
- UML实践----用例图、顺序图、状态图、类图、包图、协作图
- 一个程序员的奋斗历程 (也许这只是一个美好的传说...)
- test
- 常用数据库JDBC连接写法全攻略全攻略连接数据库常用DriverManager