标签: multibyte-functions

PHP多字节替代UTF8

我一直在寻找UTF8安全的字符串操作函数替代品.我发现了许多不同的意见和建议.我想问一下以下函数是否会导致UTF-8出现问题,如果有,我应该使用什么代替.我知道PHP手册中的mb_前缀函数列表,但我没有使用所有函数.

函数是:implode,explode,str_replace,preg_match,preg_replace

谢谢

php utf-8 multibyte-functions

3
推荐指数
1
解决办法
1701
查看次数

将两个字节组合到WideChar

是否有可能两者结合BytesWideChar,如果是,那么如何?
例如,二进制中的字母"ē"是00010011= 1900000001= 1,或者275在一起.

var
  WChar: WideChar;
begin
  WChar := WideChar(275); // Result is "?"
Run Code Online (Sandbox Code Playgroud)


var
  B1, B2: Byte;
  WChar: WideChar;
begin
  B1 := 19;
  B2 := 1;
  WChar := CombineBytesToWideChar(B1, B2); // ???
Run Code Online (Sandbox Code Playgroud)

如何WideChar从Delphi中的两个字节获取?

delphi delphi-7 unicode-string multibyte-functions widechar

3
推荐指数
1
解决办法
791
查看次数

如何正确使用MultiByteToWideChar

我正在使用MultiByteToWideChar将我的字符串转换为wstring.我首先尝试获得我的wstring所需的大小.根据文档传递0作为最后一个参数应该完成这个.使用MultiByteToWideChar(CP_UTF8, MB_COMPOSITE, str.c_str(), -1, nullptr, 0);返回0作为wstring缓冲区的所需大小.我已经验证str也是非空字符串.我在这做错了什么?

c++ windows msdn wstring multibyte-functions

3
推荐指数
1
解决办法
946
查看次数

如何判断 wchar_t 是否有代理项(UTF-16)?

我已经看过有关此问题的其他几篇文章,但无法找到有关如何以编程方式确定代码点是否使用多个 2 字节(在 Windows 上)wchar_t 的任何详细信息。

一个例子:

const wchar_t* s2 = L"\U0002008A"; // The "Han" character
std::wstring in(s2);               // length() == 2
Run Code Online (Sandbox Code Playgroud)

我想知道如何确定字符何时 length() > 1。

c++ unicode wchar-t utf-16 multibyte-functions

2
推荐指数
1
解决办法
908
查看次数