有谁知道 C# 中 php 函数 mb_strcut 的实现?
http://php.net/manual/en/function.mb-strcut.php
mb_strcut() 与 mb_substr() 类似地从字符串中提取子字符串,但对字节而不是字符进行操作。如果剪切位置恰好在多字节字符的两个字节之间,则从该字符的第一个字节开始执行剪切。这也是 substr() 函数的不同之处,它会简单地剪切字节之间的字符串,从而导致格式错误的字节序列。
有谁知道 C# 中 php 函数 mb_strcut 的实现?
http://php.net/manual/en/function.mb-strcut.php
mb_strcut() 与 mb_substr() 类似地从字符串中提取子字符串,但对字节而不是字符进行操作。如果剪切位置恰好在多字节字符的两个字节之间,则从该字符的第一个字节开始执行剪切。这也是 substr() 函数的不同之处,它会简单地剪切字节之间的字符串,从而导致格式错误的字节序列。
没有您的帮助,Dash 不可能写出以下内容
public static string LimitByteLength(string input, int startByte, int byteLength)
{
var maxLength = startByte + byteLength;
return
new string(
input.SkipWhile((c, i) => GetByteCount(input.Substring(0, i + 1)) <= startByte)
.TakeWhile((c, i) => GetByteCount(input.Substring(0, i + 1)) <= maxLength).ToArray());
}
private static int GetByteCount(string input)
{
return Encoding.Unicode.GetByteCount(input);
}