首页 > 代码库 > Learning English From Android Source Code:2 Ampersand

Learning English From Android Source Code:2 Ampersand

这一次想把标点符号的英语表达总结一下,这些单词非常重要但easy被我们忽视。以我的经验,还是多认识几个。以备不时之需。

以下从“标点符号”開始:

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符就是拆分标识)。

一个參数值子句是一个參数后面跟一个等号。然后再跟一个值。假设等号没有了,后面的值就会被觉得是空。

Learning English From Android Source Code:2 Ampersand