public static String StringToUnicode(String inStr) {
char[] myBuffer = inStr.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < inStr.length(); i++) {
UnicodeBlock ub = UnicodeBlock.of(myBuffer[i]);
if(ub == UnicodeBlock.BASIC_LATIN){
sb.append(myBuffer[i]);
}else if(ub == UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS){
int j = (int) myBuffer[i] - 65248;
sb.append((char)j);
}else{
char s = (char) myBuffer[i];
String hexS = Integer.toHexString(s);
String unicode = "\\u"+hexS;
sb.append(unicode.toLowerCase());
}
}
return sb.toString();
}
public static String unicodeToString(String theString) {
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
for (int x = 0; x < len;) {
aChar = theString.charAt(x++);
if (aChar == '\\') {
aChar = theString.charAt(x++);
if (aChar == 'u') {
int value = 0;
for (int i = 0; i < 4; i++) {
aChar = theString.charAt(x++);
switch (aChar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + aChar - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + aChar - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + aChar - 'A';
break;
default:
throw new IllegalArgumentException(
"Malformed \\uxxxx encoding.");
}
}
outBuffer.append((char) value);
} else {
if (aChar == 't')
aChar = '\t';
else if (aChar == 'r')
aChar = '\r';
else if (aChar == 'n')
aChar = '\n';
else if (aChar == 'f')
aChar = '\f';
outBuffer.append(aChar);
}
} else
outBuffer.append(aChar);
}
return outBuffer.toString();
}
分享到:
相关推荐
UniString.zip<br>Class to manipulate UNICODE string on Window 95/98.(6KB)<END><br>11,faststring.zip<br>Fast and efficient CString replacement(63KB)<END><br>12,StdString.zip<br>CString like class using...
String类型<br>11.4.1. CHAR和VARCHAR类型<br>11.4.2. BINARY和VARBINARY类型<br>11.4.3. BLOB和TEXT类型<br>11.4.4. ENUM类型<br>11.4.5. SET类型<br>11.5. 列类型存储需求<br>11.6. 选择正确的列类型<br>11.7. ...
<br>Browser Prototype jQuery Mootools Ext Dojo <br>IE 6 1476ms 661ms 1238ms 672ms 738ms <br>Firefox 2 219ms 567ms 220ms 951ms 440ms <... <br><br><br>更新项目<br><br><br>New Selectors<br>Unicode Selectors...
<br>1.Java中的的字符使用的是 16 位的Unicode 编码。 <br>2.类是同种对象的集合和抽象。<br>3.Java 仅支持类间的单重继承。 <br>4.接口是由常量和抽象方法组成的特殊类。<br>5.构造函数的方法名可由编程人员任意...
-search <pattern> get the start offset by the pattern: e.g. PK\x03\x04 -soff <offset> fix the match offset after searching (Default: 0) -off <offset> convert the input file from the offset (Default...
UNICODE_STRING deviceName; PDEVICE_EXTENSION pdx; PDEVICE_OBJECT filterDeviceObject; PDEVICE_OBJECT targetDevice; fileOjbect=NULL; RtlInitUnicodeString(&deviceName;,L"\\Device\\KeyBoardClass0"); ...
// Add a Unicode font (uses UTF-8) $pdf->AddFont('Yahei','','Monaco_Yahei.ttf',true); $pdf->SetFont('Yahei','',8); // Load a UTF-8 string from a file and print it //$txt = file_get_contents('...
string} <#-- the same as ${answer} --> ${answer?string.number} ${answer?string.currency} ${answer?string.percent} ${answer} 输出结果是: $42.00 $42.00 42 $42.00 4,200% 3,插值结果为日期值:根据默认格式...
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:<#if (x>y)> ...
/// <summary> /// 针对国内短信编码(USC2) /// </summary> public class USC2 { public readonly static int MAX_CHAR_COUNT = 70;//最长可发送汉字个数 /**/ /// <summary> /// 奇偶互换并补F /// </...
a very useful link to covert the non-unicode string to the unicode one a very useful link to covert the non-unicode string to the unicode one a very useful link to covert the non-unicode string to the...
replace-unicode-string: a small tool used to replace unicodes strings in unicode file ( when we use sed -i on windows, it would not work for string replacement on unicode file, so I wrote these tool)....
StringEmojize #### Swift字符串的扩展名,用于将代码转换为Unicode等效代码。 入门 只需在此仓库的根目录下将StringEmojize...public func emojizedStringWithString ( text : String ) -> String 支持 StringEmoj
QTextCodec 字符编码与16进制数据转换 QTextCodec *codec = QTextCodec::codecForName("KOI8-R");...QString string = codec->toUnicode(encodedString); QByteArray encodedString = codec->fromUnicode(string);
置于“十六进制”部分的十六进制数字系列可以转换为Unicode Text Unign“十六进制 - >字符串”选项。 在此模式下,首先将数据转换为字节,之后假设数据流表示UTF-8编码的Unicode文本。 所有正确编码的字符都放入...
<artifactId>jpinyin</artifactId> <version>1.1.8</version> </dependency> Gradle Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories: ...
CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
unicode->gbk 符号部分的转换 欧元符(?的识别 big5,Unicode,GBK之间的相互转换,前提是只转换共同的字符集部分, 使用说明: 暂时程序支持以下字符编码方式: GBK,BIG5,UTF-16BE(Unicode big-endian字节顺序),...