现在的位置: 首页 > 综合 > 正文

Learning English From Android Source Code:2 Ampersand

2016年02月25日 ⁄ 综合 ⁄ 共 1701字 ⁄ 字号 评论关闭

这一次想把标点符号的英语表达总结一下,这些单词很重要但容易被我们忽视。以我的经验,还是多认识几个,以备不时之需。下面从“标点符号”开始:

punctuation

[英][ˌpʌŋktʃuˈeɪʃn][美][ˌpʌŋktʃuˈeʃən]

n.标点法; 标点符号; 标点符号的使用; 点标点; 

ampersand
[英][ˈæmpəsænd][美][ˈæmpərsænd]
n."&"的记号名称,and符; 

源码中使用:

出自frameworks/base/core/java/android/net/UrlQuerySanitizer.java

609     /**
610      * Parse a query. A query string is any number of parameter-value clauses
611      * separated by any non-zero number of ampersands. A parameter-value clause
612      * is a parameter followed by an equal sign, followed by a value. If the
613      * equal sign is missing, the value is assumed to be the empty string.
614      * @param query the query to parse.
615      */
616     public void parseQuery(String query) {
617         clear();
618         // Split by '&'
619         StringTokenizer tokenizer = new StringTokenizer(query, "&");
620         while(tokenizer.hasMoreElements()) {//解析工作被放在while循环中,与xml的解析类似
621             String attributeValuePair = tokenizer.nextToken();
622             if (attributeValuePair.length() > 0) {
623                 int assignmentIndex = attributeValuePair.indexOf('=');
624                 if (assignmentIndex < 0) {
625                     // No assignment found, treat as if empty value
626                     parseEntry(attributeValuePair, "");
627                 }
628                 else {
629                     parseEntry(attributeValuePair.substring(0, assignmentIndex),
630                             attributeValuePair.substring(assignmentIndex + 1));
631                 }
632             }
633         }
634     }

先说说clauses这个词和文件名UrlQuerySanitizer,然后再尝试翻译parseQuery方法的注释。

clause

[英][klɔ:z][美][klɔz]
n.从句,分句; 条款,款项; 【计】子句
注释中是对字符串的解析,那么这里译成从句或子句更好一些。

一个条款的例句:What clause do you require in the contract(合同)?

Sanitizer

这个词比较有趣,因为直接翻看词典的解释为消毒杀菌剂,清扫车,跟本文貌似不太搭噶。

我再看sanitize的翻译,vt.使清洁; 进行消毒; 审查; 净化,也有对其审查之意。结合上下文,这个类的作用是对URL请求检查或清理,那么这里译成审查者我觉得还不错。哪位有更好的建议欢迎赐教。

注释的翻译如下:

解析一个请求。这个请求字符串被任意的非零的‘&’符分成任意数字的参数值子句(And符就是拆分标识)。一个参数值子句是一个参数后面跟一个等号,然后再跟一个值。如果等号没有了,后面的值就会被认为是空。

抱歉!评论已关闭.