Learning English From Android Source Code:2 Ampersand
这一次想把标点符号的英语表达总结一下,这些单词很重要但容易被我们忽视。以我的经验,还是多认识几个,以备不时之需。下面从“标点符号”开始:
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符就是拆分标识)。一个参数值子句是一个参数后面跟一个等号,然后再跟一个值。如果等号没有了,后面的值就会被认为是空。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。