95/98
记事本
windows
95/98
记事本不能以unicode的编码格式保存文件。可以使用记事本来编辑和保存包含了外文字符的xml文档
(比如:挪威语或者法语或者中文)小奀小林晚上一起去火锅呀但是如果你用浏览器打开这个用记事本编辑过的xml文档,将会出现一个错误。--------------------------------------------------------------------------------在windows
95/98
记事本中使用编码
windows
95/98
记事本编辑xml文件必须进行编码属性设置。
为了避免发生错误,可以在xml文档声明中加上一个encoding属性,指明此xml文档的编码类型,但是不要使用unicode编码。
下面的编码类型不会导致错误,,
并且汉字显示正常:下面的编码类型不会导致错误,,
并且汉字显示正常:下面的编码类型不会导致错误,,
并且汉字显示不正常(乱码):下面的编码类型不会导致错误,,
并且汉字显示不正常(乱码):下面的编码类型不会导致错误,,并且汉字显示正常:下面的编码类型会导致错误,:--------------------------------------------------------------------------------使用windows
2000
记事本
windows
2000
记事本可以以unicode编码格式保存文件。windows
2000
的记事本支持unicode字符集。如果使用win2000的记事本以unicode的编码格式保存xml文档(请注意这里在xml声明中没有编码信息):小奀小林晚上一起去火锅呀--------------------------------------------------------------------------------windows
2000
记事本编码
windows
2000记事本还可以以"utf-16"编码格式保存文件。如果你在xml文档中声明了编码属性而又以unicode编码格式保存文件,将可能发生错误。下面的代码将会导致错误:下面的代码将会导致错误:下面的代码将会导致错误:下面这个文件
note_encode_utf16_u.xml,
将会在ie5.0+中显示正常,在网景netscape
6.2浏览器中将会出现错误。--------------------------------------------------------------------------------错误信息
当时用ie5.0或者更高版本浏览xml文档时,可能会遇到两中不同的编码错误:在文本内容中发现一个非法字符(an
invalid
character
was
found
in
text
content)。如果你的xml文档和你的xml文档的编码格式不匹配就可能导致错误发生。通常情况是,xml文档包含一些“非英文”字符,并且使用了单字节编码的编辑器,而且没有在xml文档的声明中设置xml文档的编码格式。
不支持从当前的编码格式转换成另一种编码格式(switch
from
current
encoding
to
specified
encoding
not
supported)。如果xml文档以unicode/utf-16编码格式保存,但是xml文档的声明中却设置了编码格式是一些单字节的编码(比如
windows-1252,
iso-8859-1
或者
utf-8);或者xml文档以单字节编码格式保存,但是xml文档的声明中却设置了编码格式是一些unicode/utf-16的编码形式,这样两种情况都会导致错误发生。--------------------------------------------------------------------------------结论
结论:在保存xml文档之前在xml文档的声明中设置文档的编码格式,我的一些关于避免错误发生的建议:使用一种支持unicode编码格式的编辑器。
确信你知道自己正在使用那种编码格式。
printf()函数中的格式串格式为:[标志][输出最小宽度][.精度]类型。其中:方括号[]中的项为可选项。1)类型类型字符用以表示输出数据的类型d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串2)标志标志字符为-、+、#-结果左对齐,右边填空格+输出符号(正号或负号)#对o类,在输出时加前缀o;对x类,在输出时加前缀0x;3)输出最小宽度用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0(当最小宽度数值以0开头时)。4)精度精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。综合以上,可以看出,%04x表示按16进制输出数据,最小输出宽度为4个字符,右对齐,如果输出的数据小于4个字符,前补0,如:printf("%04x",100)//输出0064100的16进制数是64欢迎分享,转载请注明来源:内存溢出
评论列表(0条)