string.xml 中显示特殊符号

前端之家收集整理的这篇文章主要介绍了string.xml 中显示特殊符号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
项目中要在string.xml 中显示特殊符号,如@号冒号等,直接写肯定不行啦。。只能考虑使用ASCII码进行显示

@号 @
:号 :
空格  
以下为常见的ASCII十进制交换编码:
&#032;--> <-- 这边是空格
&#033;-->!<--
&#034;-->"<-- xml中需要在前面加入\
&#035;-->#<--
&#036;-->$<--
&#037;-->%<--
&#038;-->&<--
&#039;-->'<--
&#040;-->(<--
&#041;-->)<--
&#042;-->*<--
&#043;-->+<--
&#044;-->,<--
&#045;-->-<--
&#046;-->.<--
&#047;-->/<--
&#058;-->:<--
&#059;-->;<--
&#060;--><<--
&#061;-->=<--
&#062;-->><--
&#063;-->?<--
&#064;-->@<--
&#091;-->[<--
&#092;-->--
&#093;-->]<--
&#094;-->^<--
&#095;-->_<--
&#096;-->`<--
&#123;-->{<--
&#124;-->|<--
&#125;-->}<--
&#126;-->~<--
&#160;--> <--这边是空格,在xml首字符中不会被忽略
&#161;-->¡<--
&#162;-->¢<--
&#163;-->£<--
&#164;-->¤<--
&#165;-->¥<--
&#166;-->¦<--
&#167;-->§<--
&#168;-->¨<--
&#169;-->©<--
&#170;-->ª<--
&#171;-->«<--
&#172;-->¬<--
&#173;-->­<--
&#174;-->®<--
&#175;-->¯<--
&#176;-->°<--
&#177;-->±<--
&#178;-->²<--
&#179;-->³<--
&#180;-->´<--
&#181;-->µ<--
&#182;-->¶<--
&#183;-->•<--
&#184;-->¸<--
&#185;-->¹<--
&#186;-->º<--
&#187;-->»<--
&#188;-->¼<--
&#189;-->½<--
&#190;-->¾<--
&#191;-->¿<--
&#192;-->À<--
&#193;-->Á<--
&#194;-->Â<--
&#195;-->Ã<--
&#196;-->Ä<--
&#197;-->Å<--
&#198;-->Æ<--
&#199;-->Ç<--
&#200;-->È<--
&#201;-->É<--
&#202;-->Ê<--
&#203;-->Ë<--
&#204;-->Ì<--
&#205;-->Í<--
&#206;-->Î<--
&#207;-->Ï<--
&#208;-->Ð<--
&#209;-->Ñ<--
&#210;-->Ò<--
&#211;-->Ó<--
&#212;-->Ô<--
&#213;-->Õ<--
&#214;-->Ö<--
&#215;-->×<--
&#216;-->Ø<--
&#217;-->Ù<--
&#218;-->Ú<--
&#219;-->Û<--
&#220;-->Ü<--
&#221;-->Ý<--
&#222;-->Þ<--
&#223;-->ß<--
&#224;-->à<--
&#225;-->á<--
&#226;-->â<--
&#227;-->ã<--
&#228;-->ä<--
&#229;-->å<--
&#230;-->æ<--
&#231;-->ç<--
&#232;-->è<--
&#233;-->é<--
&#234;-->ê<--
&#235;-->ë<--
&#236;-->ì<--
&#237;-->í<--
&#238;-->î<--
&#239;-->ï<--
&#240;-->ð<--
&#241;-->ñ<--
&#242;-->ò<--
&#243;-->ó<--
&#244;-->ô<--
&#245;-->õ<--
&#246;-->ö<--
&#247;-->÷<--
&#248;-->ø<--
&#249;-->ù<--
&#250;-->ú<--
&#251;-->û<--
&#252;-->ü<--
&#253;-->ý<--
&#254;-->þ<--
&#255;-->ÿ<--
&#256;-->Ā<--
&#257;-->ā<--
&#258;-->Ă<--
&#259;-->ă<--
&#260;-->Ą<--
&#261;-->ą<--
&#262;-->Ć<--
&#263;-->ć<--
&#264;-->Ĉ<--
&#265;-->ĉ<--
&#266;-->Ċ<--
&#267;-->ċ<--
&#268;-->Č<--
&#269;-->č<--
&#270;-->Ď<--
&#271;-->ď<--
&#272;-->Đ<--
&#273;-->đ<--
&#274;-->Ē<--
&#275;-->ē<--
&#276;-->Ĕ<--
&#277;-->ĕ<--
&#278;-->Ė<--
&#279;-->ė<--
&#280;-->Ę<--
&#281;-->ę<--
&#282;-->Ě<--
&#283;-->ě<--
&#284;-->Ĝ<--
&#285;-->ĝ<--
&#286;-->Ğ<--
&#287;-->ğ<--
&#288;-->Ġ<--
&#289;-->ġ<--
&#290;-->Ģ<--
&#291;-->ģ<--
&#292;-->Ĥ<--
&#293;-->ĥ<--
&#294;-->Ħ<--
&#295;-->ħ<--
&#296;-->Ĩ<--
&#297;-->ĩ<--
&#298;-->Ī<--
&#299;-->ī<--
&#300;-->Ĭ<--
&#301;-->ĭ<--
&#302;-->Į<--
&#303;-->į<--
&#304;-->İ<--
&#305;-->ı<--
&#306;-->IJ<--
&#307;-->ij<--
&#308;-->Ĵ<--
&#309;-->ĵ<--
&#310;-->Ķ<--
&#311;-->ķ<--
&#312;-->ĸ<--
&#313;-->Ĺ<--
&#314;-->ĺ<--
&#315;-->Ļ<--
&#316;-->ļ<--
&#317;-->Ľ<--
&#318;-->ľ<--
&#319;-->Ŀ<--
&#320;-->ŀ<--
&#321;-->Ł<--
&#322;-->ł<--
&#323;-->Ń<--
&#324;-->ń<--
&#325;-->Ņ<--
&#326;-->ņ<--
&#327;-->Ň<--
&#328;-->ň<--
&#329;-->ʼn<--
&#330;-->Ŋ<--
&#331;-->ŋ<--
&#332;-->Ō<--
&#333;-->ō<--
&#334;-->Ŏ<--
&#335;-->ŏ<--
&#336;-->Ő<--
&#337;-->ő<--
&#338;-->Œ<--
&#339;-->œ<--
&#340;-->Ŕ<--
&#341;-->ŕ<--
&#342;-->Ŗ<--
&#343;-->ŗ<--
&#344;-->Ř<--
&#345;-->ř<--
&#346;-->Ś<--
&#347;-->ś<--
&#348;-->Ŝ<--
&#349;-->ŝ<--
&#350;-->Ş<--
&#351;-->ş<--
&#352;-->Š<--
&#353;-->š<--
&#354;-->Ţ<--
&#355;-->ţ<--
&#356;-->Ť<--
&#357;-->ť<--
&#358;-->Ŧ<--
&#359;-->ŧ<--
&#360;-->Ũ<--
&#361;-->ũ<--
&#362;-->Ū<--
&#363;-->ū<--
&#364;-->Ŭ<--
&#365;-->ŭ<--
&#366;-->Ů<--
&#367;-->ů<--
&#368;-->Ű<--
&#369;-->ű<--
&#370;-->Ų<--
&#371;-->ų<--
&#372;-->Ŵ<--
&#373;-->ŵ<--
&#374;-->Ŷ<--
&#375;-->ŷ<--
&#376;-->Ÿ<--
&#377;-->Ź<--
&#378;-->ź<--
&#379;-->Ż<--
&#380;-->ż<--
&#381;-->Ž<--

&#382;-->ž<--

Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false"
attribute?
- error: Unexpected end tag string

反复检查后发现是string.xml中的 % 导致编译失败,

这是由于新的SDK采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,然后在Android最新的开发文档的描述String的部分,已经说明了如何去设置 %s 等符号,下面是文档片段:

If you need to format your strings using String.format(String,Object...),then you can do so by putting your format arguments in the string resource. For example,with the following resource:

如果你需要使用 String.format(String,Object...) 来格式化你的字符串,你可以把格式化参数放在你的字符串中,参见下面的例子:

<string name="welcome_messages">Hello,%1$s! You have %2$d new messages.</string>

In this example,the format string has two arguments: %1$s is a string and %2$d is a decimal number. You can format the string with arguements from your application like this:

在这个例子中,这个格式化的字符串有2个参数, %1$s是个字符串 %2$d 是个浮点数,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:

Resources res = getResources();

String text = String.format(res.getString(R.string.welcome_messages),username,mailCount);

那么根据例子上说的我需要把%s换成%1$s才行了,修改后编译通过,程序成功启动。

问题补充:

有读者问如何在<string></string>中使用%号

有两个办法可供选择
1. 用%%来表示1个%,和转意符号 / 的用法相同

2.如果你的字符串不需要格式化,可以在你的<string 标签增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可。

原文链接:https://www.f2er.com/xml/300074.html

猜你在找的XML相关文章