在Notepad中敏御兆饥,
可以通过快捷键Ctrl+Shift+U将文本内容转换成Unicode码。此外,也可以通过菜单栏的“编码”——“转换到Unicode”来完成同样桥猜岩的 *** 作。字转局仔换:wctomb、mbtowc,wc 指 Wide charactor,mb 指 Multi-byte。\r\n字符串转换:wcstombs、mbstowcs,wcs 和 mbs 的 s 指 string。\r\n\r\n这 4 个
函数是 C 标准函数库函数中的。如果只是在 Windows 平台下编程,可直接调用 Windows API 函数 WideCharToMultiByte 和 MultiByteToWideChar 实现。但是如果调用标准库函数的话,在 Linux 下也是有效的。调用标准库函数,首先必须包郑模含 locale.h 并调用 setlocale(LC_ALL, "") 后才能正确转换。Windows 下的 Multi-byte 是 ANSI 编码的,Wide charactor 是 Unicode (UTF-16) 编码,而 Linux 下的 Multi-byte 是 UTF-8 编码的,Wide charactor 是喊腊缓 Unicode (UTF-32) 编码。\r\n\r\n#include \r\n#include \r\n#include \r\n\r\nint main(void)\r\n{\r\nchar str[12]\r\nwchar_t wstr[] = { 0x52B3, 0x788C, 0 }\r\nsetlocale(LC_ALL, "")\r\nwcstombs(str, wstr, sizeof(str)/sizeof(char))\r\nprintf("%s", str)\r\nreturn 0\r\n}
上代码:
import 缓激java.util.Scanner
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in)
System.out.println("请输入汉字:")
String input = sc.nextLine()
if (input.length() == 0) {
System.out.println("输入错误")
return
}
System.out.println("汉字转unicode结果:")
char[] chars = input.toCharArray()
for 塌漏(int i = 0 i < chars.length i++) {
String unicode = Integer.toHexString(chars[i])
if (unicode.length() <= 2) {
// 团哪烂不足四位前面加0补齐
unicode = "00" + unicode
}
unicode = "\\u" + unicode
System.out.println(chars[i] + ": " + unicode)
}
}
}
评论列表(0条)