public static String toHTMLString(String in) {
StringBuffer out = new StringBuffer()
for (int i = 0in != null &&i <in.length()i++) {
char c = in.charAt(i)
if (c == '\'')
out.append("'")
else if (c == '\"')
out.append(""")
else if (c == '<')
out.append("<")
else if (c == '>')
out.append(">")
else if (c == '&')
out.append("&")
else if (c == ' ')
out.append(" ")
else if (c == '\n')
out.append("<br/>")
else
out.append(c)
}
return out.toString()
}
一个String显示在网页上,不会安置原来的格式显示,比如说,回车符在网页上就显示成了一个空格,下面这个方法可以将String改为HTML可以辨认的格式。
public static String toHTMLString(String in) {
StringBuffer out = new StringBuffer()
for (int i = 0in != null &&i <in.length()i++) {
char c = in.charAt(i)
if (c == '\'')
out.append("'")
else if (c == '\"')
out.append(""")
else if (c == '<')
out.append("<")
else if (c == '>')
out.append(">")
else if (c == '&')
out.append("&")
else if (c == ' ')
out.append(" ")
else if (c == '\n')
out.append("<br/>")
else
out.append(c)
}
return out.toString()
}
#include <stdio.h>int main()
{
char hi[] = "Hello"
printf("%s",hi)
return 0
}
以上是最简单的用char储存字符串的方式:
看第一行,“Hello”这个字符串有6个字母对吧,还有一个结尾‘\0’的标记,一共7个字节的长度;
因此,在初始化hi变量时,系统会为hi分配7个字节的长度的连续内存,为什么是连续内存,因为hi是char类的数组,数组都是连续内存的!
然后hi的第一个字节的内存放‘H’,第二个字节放‘e’,第三个放‘l’……第七个放结尾标记‘\0’
你想问怎么转化对吧,这个是根据ASCII表格的规定存放的,这是美国规定的转化定律。c语言的char每1个字节,8bit,也就是8个二进制位。可以表示0 ~ 2的8次方
在这百个数中,每个数字都代表一个符号(字母),比如H是72.也就是说hi的第一个元素,char类型的内存里是这样存72的:0 1 0 0 1 0 0 0
以上就是8bit二进制,如果你用printf(“%d”,hi【0】);打印,你会发现,其实hi的第一个元素就是72这个数。
详细ascii对照表请看附件图