/**
* 字符串和asccii转换
* Created by HP on 2018/4/9.
*/
public class String2ASCCII {
/*将字符串转成ASCII的java方法*/
public static String stringToAscii(String value) {
StringBuilder sbu = new StringBuilder();
char[] chars = value.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (i != chars.length - 1) {
sbu.append((int) chars[i]).append(",");
} else {
sbu.append((int) chars[i]);
}
}
return sbu.toString();
}
/*将ASCII转成字符串的java方法*/
private static String asciiToString(String value) {
StringBuilder sbu = new StringBuilder();
String[] chars = value.split(",");
for (String aChar : chars) {
sbu.append((char) Integer.parseInt(aChar));
}
return sbu.toString();
}
/**
* 获取文本框文字,提取其中的换行符ascii码(10)并替换为<br/>
* 回车符</r>ascii码(13)
*
* @param strContent 编辑框内的文本
* @return 修改后的文本
*/
public static String conversion(String strContent) {
if (strContent != null && strContent.length() > 0) {
StringBuilder stringBuilder = new StringBuilder();
for (char c : strContent.toCharArray()) {
String ascciic = stringToAscii(String.valueOf(c));
if ("10".equals(ascciic)) {
stringBuilder.append("<br/>");
} else if ("13".equals(ascciic)) {
stringBuilder.append("");
} else if ("8364".equals(ascciic)) {
stringBuilder.append("€");
} else {
stringBuilder.append(c);
}
}
return stringBuilder.toString();
}
/*以下的方法也可以思路不同*/
// if (string != null && string.length() > 0) {
// StringBuilder stringBuilder = new StringBuilder();
// String asccii = stringToAscii(string);
// XLog.showArgsInfo("asccii码值" + asccii);
// String[] split = asccii.split(",");
// for (String str : split) {
// if (str.equals("10")) {
// stringBuilder.append("<br/>");
// } else {
// stringBuilder.append(asciiToString(str));
// }
// }
// return stringBuilder.toString();
// }
return strContent;
}
}