public class ConverseString {
public static String toUTF8(String inPara) {
char temChr;
int ascChr;
int i;
StringBuffer rtStr = new StringBuffer("");
if (inPara == null) {
inPara = "";
}
for (i = 0; i < inPara.length(); i++) {
temChr = inPara.charAt(i);
ascChr = temChr + 0;
rtStr = rtStr.append("&#x").append(
Integer.toHexString(ascChr) + ";");
}
return rtStr.toString();
}
public static String WapDecode(String theString) { //解码
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
for (int x = 0; x < len;) {
if ((theString.charAt(x) == '&')
&& (theString.charAt(x + 1) == '#')
&& (theString.charAt(x + 2) == 'x')) {
int y = theString.indexOf(";", x);
if (y < 0)
continue;
// Read the xxxx
x = x + 3;
int value = 0;
int c = y - x;
for (int i = 0; i < c; 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 ꪪ encoding.");
}
} //END--for (int i=0; i<4; i++) {
outBuffer.append((char) value);
x++; //跳过分号
} else {
outBuffer.append(theString.charAt(x++));
} //END--if (aChar == '&') {
} //END--for(int x=0; x<len; ) {
return outBuffer.toString();
}
public static String WapEncode(String theString) { //解码
char temChr;
int ascChr;
int i;
StringBuffer rtStr = new StringBuffer("");
if (theString == null) {
theString = "";
}
for (i = 0; i < theString.length(); i++) {
temChr = theString.charAt(i);
ascChr = temChr + 0;
if(ascChr>=19968&&ascChr<=40869)
rtStr = rtStr.append("&#x").append(
Integer.toHexString(ascChr) + ";");
else
rtStr=rtStr.append(temChr);
}
return rtStr.toString();
}
}
分享到:
相关推荐
首先,C++标准库并没有直接支持UTF-8编码的内置类型,但是我们可以通过`std::string`类来间接地操作UTF-8字符串。`std::string`通常用来存储和处理以字节序列形式表示的文本,而UTF-8恰好就是这样一种以字节为基础的...
本文将深入探讨UTF8和ANSI String之间的转换处理,特别关注在DELPHI7环境下如何进行这种转换,并通过动态链接库(DLL)实现跨语言(如C++)的兼容性。 标题中的"UTF8与ansi string转换处理(DELPHI7开发)"指的是在...
在JavaScript中,将字符串转换为UTF-8编码的字节序列是一项常见的操作,尤其是在处理网络传输、存储或者解析数据时。UTF-8是一种广泛使用的Unicode字符编码方式,它能够表示Unicode标准中的所有字符,并且在大多数...
对于`AnsiString`,可以先转换为`UnicodeString`,再用`UTF8ToString`进行转换,反之亦然。 4. **流处理**:如果你需要读取或写入包含UTF-8编码的文件,可以使用`TMemoryStream`和`TFileStream`。在读取时,可以...
vtString2 UTF8ToWString(const char *string_utf8); vtString WStringToMBCS(const wchar_t* wstring); vtString2 MBCSToWString(const char *string_mbcs); vtString UTF8ToMBCS(const char *string_utf8); ...
标题“UTF8_TO_HEX”指的是一个程序或功能,它的主要任务是将UTF-8编码的字符串转换成拉丁字母(Latin1)编码表示的形式。在计算机领域,字符编码是用来表示文本的一种方式,不同的编码标准适用于不同的语言和地区。...
- `Utf8ToUnicode`: 将UTF-8字符串转换为Unicode字符串。 - `UnicodeToUtf8`: 将Unicode字符串转换为UTF-8字符串。 6. **注意事项** 进行字符串转换时,必须注意编码的正确性和一致性,尤其是在处理多语言文本...
转换过程中,需要先将ANSIString转换为UnicodeString(Unicode编码的字符串类型),再利用类似WideCharToMultiByte的API将Unicode字符串编码为UTF8字节流,最后将字节流写入文件。 动态链接库(DLL)提供了一种共享...
字符串转化成UTF-8格式,亲测可用 std::string CBaseNode::string_To_UTF8(const std::string & str)
CString CNurseDialog::utf8ToMulti(CString &str_utf8) { CString str_multi; int len = MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)str_utf8, -1, NULL, 0); wchar_t *wszMulti = new wchar_t[len + 1]; ...
Public Sub ConvertUTF32ToUTF8(ByVal utf32String As String) Dim utf32Encoding As New UnicodeEncoding(True, True) 'True表示带签名的UTF-32 Dim utf8Encoding As New UTF8Encoding() Dim utf32Bytes() As ...
public String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i (); i++) { char c = s.charAt(i); if (c >= 0 && c ) { sb.append(c); } else { byte[] b; try { b = ...
public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i (); i++) { char c = s.charAt(i); if (c >= 0 && c ) { sb.append(c); } else { byte[] b; try ...
} <br> public String toUTF8( String s ) { StringBuffer sb = new StringBuffer() ; for ( int i = 0 ; i () ; i++ ) { char c = s.charAt( i ) ; if ( c >= 0 && c ) ...
function ConvertUTF16ToUTF8(const Data: TBytes): string; var UTF16Str: UnicodeString; begin // 假设Data是UTF16LE编码的数据 UTF16Str := RawToUTF16LE(Data); Result := UTF8Encode(UTF16Str); end; // ...
6. **UTF8ToANSI()**: 通过先将UTF-8转换为Unicode,再将Unicode转换为ANSI实现。 这些函数使用了Windows API中的`MultiByteToWideChar()`和`WideCharToMultiByte()`函数来完成转换。例如,`ANSIToUnicode()`函数中...
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数
string utf8FromUnicode = Encoding.UTF8.GetString(utf16ToUtf8Bytes); Console.WriteLine($"GBK -> UTF-8: {utf8String}"); Console.WriteLine($"UTF-8 -> GBK: {gbkString}"); Console.WriteLine($"UTF-8 ->...
JavaScript crypt(3)实现 函数JavaScript端口。 char * crypt ( const char *key,...function toUTF8Array ( str ) { var utf8 = unescape ( encodeURIComponent ( utf8 ) ) ; var arr = [ ] ; for ( var i = 0 ;