首页 > 代码库 > 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