`
lauphai
  • 浏览: 23915 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

String toUTF8

阅读更多
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 &#Xaaaa 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();
	}
	
}

分享到:
评论

相关推荐

    utf-8.rar_c++ string utf-8_string to utf-8_utf_utf 8_utf-8

    首先,C++标准库并没有直接支持UTF-8编码的内置类型,但是我们可以通过`std::string`类来间接地操作UTF-8字符串。`std::string`通常用来存储和处理以字节序列形式表示的文本,而UTF-8恰好就是这样一种以字节为基础的...

    UTF8与ansi string转换处理(DELPHI7开发)

    本文将深入探讨UTF8和ANSI String之间的转换处理,特别关注在DELPHI7环境下如何进行这种转换,并通过动态链接库(DLL)实现跨语言(如C++)的兼容性。 标题中的"UTF8与ansi string转换处理(DELPHI7开发)"指的是在...

    js代码-string to utf-8 bytes

    在JavaScript中,将字符串转换为UTF-8编码的字节序列是一项常见的操作,尤其是在处理网络传输、存储或者解析数据时。UTF-8是一种广泛使用的Unicode字符编码方式,它能够表示Unicode标准中的所有字符,并且在大多数...

    xe10_utf_8转换

    对于`AnsiString`,可以先转换为`UnicodeString`,再用`UTF8ToString`进行转换,反之亦然。 4. **流处理**:如果你需要读取或写入包含UTF-8编码的文件,可以使用`TMemoryStream`和`TFileStream`。在读取时,可以...

    utf8 宽字节 mbcs 随意转换

    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

    标题“UTF8_TO_HEX”指的是一个程序或功能,它的主要任务是将UTF-8编码的字符串转换成拉丁字母(Latin1)编码表示的形式。在计算机领域,字符编码是用来表示文本的一种方式,不同的编码标准适用于不同的语言和地区。...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    - `Utf8ToUnicode`: 将UTF-8字符串转换为Unicode字符串。 - `UnicodeToUtf8`: 将Unicode字符串转换为UTF-8字符串。 6. **注意事项** 进行字符串转换时,必须注意编码的正确性和一致性,尤其是在处理多语言文本...

    utf8处理接口动态库(Delphi7开发)

    转换过程中,需要先将ANSIString转换为UnicodeString(Unicode编码的字符串类型),再利用类似WideCharToMultiByte的API将Unicode字符串编码为UTF8字节流,最后将字节流写入文件。 动态链接库(DLL)提供了一种共享...

    字符串转化成UTF-8格式

    字符串转化成UTF-8格式,亲测可用 std::string CBaseNode::string_To_UTF8(const std::string & str)

    CString转UTF8,UTF8转CString

    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]; ...

    8 utf8-32转码

    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 ...

    jsp页面文件下载功能实现

    public String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i (); i++) { char c = s.charAt(i); if (c &gt;= 0 && c ) { sb.append(c); } else { byte[] b; try { b = ...

    Java应用下载文件功能,输出文件名中的中文乱码

    public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i = 0; i (); i++) { char c = s.charAt(i); if (c &gt;= 0 && c ) { sb.append(c); } else { byte[] b; try ...

    可以显示中文名称的下载组件

    } &lt;br&gt; public String toUTF8( String s ) { StringBuffer sb = new StringBuffer() ; for ( int i = 0 ; i () ; i++ ) { char c = s.charAt( i ) ; if ( c &gt;= 0 && c ) ...

    Delphi REST 服务器返回UTF16编码转换成正常string示例.rar

    function ConvertUTF16ToUTF8(const Data: TBytes): string; var UTF16Str: UnicodeString; begin // 假设Data是UTF16LE编码的数据 UTF16Str := RawToUTF16LE(Data); Result := UTF8Encode(UTF16Str); end; // ...

    utf-8与unicode

    6. **UTF8ToANSI()**: 通过先将UTF-8转换为Unicode,再将Unicode转换为ANSI实现。 这些函数使用了Windows API中的`MultiByteToWideChar()`和`WideCharToMultiByte()`函数来完成转换。例如,`ANSIToUnicode()`函数中...

    Delphi中UTF-8,Unicode格式转换

    delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数

    GBK Unicode UTF8码的相互转换源程序(C#语言)

    string utf8FromUnicode = Encoding.UTF8.GetString(utf16ToUtf8Bytes); Console.WriteLine($"GBK -&gt; UTF-8: {utf8String}"); Console.WriteLine($"UTF-8 -&gt; GBK: {gbkString}"); Console.WriteLine($"UTF-8 -&gt;...

    js-crypt3:crypt(3)JavaScript的实现

    JavaScript crypt(3)实现 函数JavaScript端口。 char * crypt ( const char *key,...function toUTF8Array ( str ) { var utf8 = unescape ( encodeURIComponent ( utf8 ) ) ; var arr = [ ] ; for ( var i = 0 ;

Global site tag (gtag.js) - Google Analytics