精易论坛

标题: 编码转换 [打印本页]

作者: dirdir110    时间: 2024-11-13 18:03
标题: 编码转换
\u4f5c\u54c1\u76f8\u5173 如何编码快速转换成{228,189,156,229,147,129,231,155,184,229,133,179}

作者: dirdir110    时间: 2024-11-13 18:03
速度要快

补充内容 (2024-11-13 18:03):
易语言
作者: LEOONL    时间: 2024-11-13 18:06
调试输出 (编码_Ansi到Utf8 (编码_usc2到ansi (“\u4f5c\u54c1\u76f8\u5173”)))
作者: dirdir110    时间: 2024-11-13 18:16
LEOONL 发表于 2024-11-13 18:06
调试输出 (编码_Ansi到Utf8 (编码_usc2到ansi (“%u4f5c%u54c1%u76f8%u5173”)))

编码_usc2先转到ansi 在从ansi 转到Utf8  有没有usc2直接到utf8的
作者: LEOONL    时间: 2024-11-13 18:22
dirdir110 发表于 2024-11-13 18:16
编码_usc2先转到ansi 在从ansi 转到Utf8  有没有usc2直接到utf8的

调试输出 (编码_usc2到utf8 (“\u4f5c\u54c1\u76f8\u5173”))
放精易模块源码里编译出来用
  
子程序名返回值类型公开备 注
编码_usc2到utf8字节集 将usc2转变成ansi  如 %u0031%u0032%u0033 转换后为 123 失败返回空文本
参数名类 型参考可空数组备 注
欲转换的文本文本型\u %u \u25 等3种格式,如果是其它格式,请先用子文本替换成这三种的任意一种才能正常转换
变量名类 型静态数组备 注
脚本对象对象 
局_文本文本型 
局_返回值文本型 
局_文本 = 子文本替换 (欲转换的文本, #换行符, “{$}”, , , )
局_文本 = 子文本替换 (局_文本, 字符 (10), “{//n//}”, , , )  ' 临时
如果真 (取字节集左边 (到字节集 (取文本左边 (局_文本, 10)), 1){ 13 })
局_文本 = 到文本 (子字节集替换 (到字节集 (局_文本), { 13 }, {  }, , 1))
判断 (寻找文本 (局_文本, “\u”, , ) ≠ -1)
局_文本 = 子文本替换 (局_文本, “\u”, “%u”, , , )
判断 (寻找文本 (局_文本, “\u25”, , ) ≠ -1)
局_文本 = 子文本替换 (局_文本, “\u25”, “%u”, , , )


局_文本 = 子文本替换 (局_文本, “'”, “\'”, , , )
线程_初始化COM库 ()
脚本对象.创建 (“ScriptControl”, )
脚本对象.写属性 (“Language”, “JScript”)
脚本对象.数值方法 (“ExecuteStatement”, “function xx(){var x='” + 局_文本 + “';return unescape(x);}”)
局_返回值 = 脚本对象.文本方法 (“Run”, “xx”)
返回 (W2A_CP (编码_Ansi到Unicode (局_返回值, ), #CP_UTF8 ))


作者: 承易    时间: 2024-11-13 18:34
是一串Unicode编码,转换成十进制数值列表,可以作一个 直接将 文字转成十进制数值列表,虽然不知你最后这个进制列表干嘛用的
作者: dirdir110    时间: 2024-11-13 18:41
承易 发表于 2024-11-13 18:34
是一串Unicode编码,转换成十进制数值列表,可以作一个 直接将 文字转成十进制数值列表,虽然不知你最后这 ...

最后字节集保存用的啊
作者: 承易    时间: 2024-11-13 18:44
dirdir110 发表于 2024-11-13 18:41
最后字节集保存用的啊

你改成DLL 直接调用就行了

[C++] 纯文本查看 复制代码
#include <iostream>
#include <vector>
#include <locale>
#include <codecvt>

int main() {
    // 字符串转换
    std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
    std::string str = u8"作品相关";
    std::wstring wide_str = converter.from_bytes(str);

    // 获取UTF-8编码的字节序列
    std::vector<unsigned char> utf8_bytes(str.begin(), str.end());

    // 将字节序列转换为十进制数值列表
    std::vector<int> decimal_values;
    for (const auto& byte : utf8_bytes) {
        decimal_values.push_back(static_cast<int>(byte));
    }

    // 输出结果
    std::cout << "Decimal values: ";
    for (const auto& value : decimal_values) {
        std::cout << value << " ";
    }
    std::cout << std::endl;

    return 0;
}

作者: chenboss    时间: 2024-11-13 19:11
最快编码转换字节集.e (2.08 KB, 下载次数: 5)





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4