您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计199个文字,预计阅读时间需要1分钟。
java/** * 读取指定文件并返回UTF-8编码的字符串 * @param filename 文件名 * @return 返回读取的文本内容 */public static String ReadAllFormatText(String filename) { byte[] bs=File.ReadAllBytes(filename); int len=bs.length; if (len==3 && bs[0]==0xEF && bs[1]==0xBB && bs[2]==0xBF) { return new String(bs, UTF-8); } return new String(bs);}
//传入文件名,返回utf8-string
public string ReadAllFormatText(string filename)
{
byte[] bs = File.ReadAllBytes(filename);
int len = bs.Length;
if (len >= 3 && bs[0] == 0xEF && bs[1] == 0xBB && bs[2] == 0xBF)
{
return Encoding.UTF8.GetString(bs, 3, len - 3);
}
int[] cs = { 7, 5, 4, 3, 2, 1, 0, 6, 14, 30, 62, 126 };
for (int i = 0; i < len; i++)
{
int bits = -1;
for (int j = 0; j < 6; j++)
{
if (bs[i] >> cs[j] == cs[j + 6])
{
bits = j;
break;
}
}
if (bits == -1)
{
return Encoding.Default.GetString(bs);
}
while (bits-- > 0)
{
i++;
if (i == len || bs[i] >> 6 != 2)
{
return Encoding.Default.GetString(bs);
}
}
}
return Encoding.UTF8.GetString(bs);
}
本文共计199个文字,预计阅读时间需要1分钟。
java/** * 读取指定文件并返回UTF-8编码的字符串 * @param filename 文件名 * @return 返回读取的文本内容 */public static String ReadAllFormatText(String filename) { byte[] bs=File.ReadAllBytes(filename); int len=bs.length; if (len==3 && bs[0]==0xEF && bs[1]==0xBB && bs[2]==0xBF) { return new String(bs, UTF-8); } return new String(bs);}
//传入文件名,返回utf8-string
public string ReadAllFormatText(string filename)
{
byte[] bs = File.ReadAllBytes(filename);
int len = bs.Length;
if (len >= 3 && bs[0] == 0xEF && bs[1] == 0xBB && bs[2] == 0xBF)
{
return Encoding.UTF8.GetString(bs, 3, len - 3);
}
int[] cs = { 7, 5, 4, 3, 2, 1, 0, 6, 14, 30, 62, 126 };
for (int i = 0; i < len; i++)
{
int bits = -1;
for (int j = 0; j < 6; j++)
{
if (bs[i] >> cs[j] == cs[j + 6])
{
bits = j;
break;
}
}
if (bits == -1)
{
return Encoding.Default.GetString(bs);
}
while (bits-- > 0)
{
i++;
if (i == len || bs[i] >> 6 != 2)
{
return Encoding.Default.GetString(bs);
}
}
}
return Encoding.UTF8.GetString(bs);
}

