是否可以使用字符或编码来转义 J2ME 应用程序的 JAD 文件中的自定义属性?
示例:此属性中的额外 : 是否会破坏某些设备上的 Jad,是否有一种转义语言(如 HTML 编码)可以用来使其成为有效的属性条目?
自定义属性 1:诺基亚:6150 / X.15
额外的冒号无关紧要。它只是您财产价值的一部分。
JSR 37说:
“应用程序描述符的格式是一系列行,由属性名称后跟冒号、属性值和回车组成。值前后的空格被忽略。”
可能还有其他 JAD 的“陷阱”,具体取决于您的目标设备。最好保持 JAD 很小,在某些情况下不超过 5K,并且没有额外的长行或有延续的行。
有关 JAD 内容的更多信息,请参阅此处的注释,特别注意 ISO-8859-1 编码是首选,因为它应该被所有手机支持,并且如果需要可以使用 unicode 转义序列(如 \u00A9 = 版权符号)。
编辑
JSR 118包含一个用于解析 JAD 内容的 BNF:
appldesc: *attrline
attrline: attrname “:” [WSP] attrvalue [WSP] newlines
attrname: 1*<any Unicode char except CTLs or separators>
attrvalue: *valuechar | valuechar *(valuechar | WSP) valuechar
valuechar: <any valid Unicode character, excluding CTLS and WSP>
newlines = 1*newline ; allow blank lines to be ignored
newline: CR LF | LF
CR = <Unicode carriage return (U+000D)>
LF = <Unicode linefeed (U+000A)>
WSP: 1*( SP | HT )
SP = <Unicode space (U+0020)>
HT = <Unicode horizontal-tab (U+0009)>
CTL = <Unicode characters
U+0000 - U+001F and U+007F>
separators: “(” | “)” | “<” | “>” | “@” | “,” | “;” |
“:” | “'” | <“> | “/” | “[” | “]” | “?” |
“=” | “{” | “}” | SP | HT