0

有谁知道 C# 中 php 函数 mb_strcut 的实现?

http://php.net/manual/en/function.mb-strcut.php

mb_strcut() 与 mb_substr() 类似地从字符串中提取子字符串,但对字节而不是字符进行操作。如果剪切位置恰好在多字节字符的两个字节之间,则从该字符的第一个字节开始执行剪切。这也是 substr() 函数的不同之处,它会简单地剪切字节之间的字符串,从而导致格式错误的字节序列。

4

1 回答 1

0

没有您的帮助,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);
    }
于 2013-02-12T11:24:00.350 回答