能力值:
( LV2,RANK:10 )
|
-
-
2 楼
听起来只需要一个unicode字符转utf-16或者utf-8函数
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
wx_Aure__
听起来只需要一个unicode字符转utf-16或者utf-8函数 当然需要, 但是所有字符串都用函数转换, 不仅效率低性能差白费CPU, 也不像话. 要知道所有API全部是A或W字符串所以起码像“L”这样的宏更好. 如果直接能定义ascii字符, 更更好. 否则这语言就趿拉了(刚出来不完善还说得过去, 这都多少年了, 连基本字符串都不支持的话, 还指望和C PK运行速度)
最后于 2023-1-14 08:14
被PEDIY编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
#[macro_export]
macro_rules! pcwstr {
($str: expr) => {
windows::core::PCWSTR::from_raw(
$str.encode_utf16()
.chain([0])
.collect::<Vec<u16>>()
.as_ptr(),
)
};
}
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
LYQINGYE
#[macro_export]
macro_rules! pcwstr {
($ ...
先赞了. 不能让好意帮忙者还损失一枚雪币, heha~
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
1. windows crate 里有类似 L("") 的宏:https://docs.rs/windows/latest/windows/macro.w.html 2. encode_utf16,其实也多不了多少开销 3. 直接用 UTF-16 编码的 String,比如 https://docs.rs/utf16string/latest/utf16string/
|
|
|