首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFString to string?

CFString to string?
EN

Stack Overflow用户
提问于 2010-07-15 03:00:33
回答 3查看 454关注 0票数 0

我使用以下代码将字符串转换为CFString:

代码语言:javascript
复制
 internal static byte[] StringToCFString(string value)
    {
        byte[] b;

        b = new byte[value.Length + 10];
        b[4] = 0x8c;
        b[5] = 07;
        b[6] = 01;
        b[8] = (byte)value.Length;
        Encoding.ASCII.GetBytes(value, 0, value.Length, b, 9);
        return b;
    }

    public static byte[] StringToCString(string value)
    {
        byte[] bytes = new byte[value.Length + 1];
        Encoding.ASCII.GetBytes(value, 0, value.Length, bytes, 0);
        return bytes;
    }

怎样才能让CFString返回字符串?(C#.Net 2.0)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-15 03:26:17

我会尝试像这样的东西。

代码语言:javascript
复制
Encoding.ASCII.GetString(value, 9, value.Length - 9);
票数 1
EN

Stack Overflow用户

发布于 2012-10-17 05:53:15

代码语言:javascript
复制
private String CFString2String(IntPtr intPtr)
{
    byte size = Marshal.ReadByte(intPtr, 8);
    byte[] b = new byte[size];
    Marshal.Copy(IntPtr.Add(intPtr, 9), b, 0, size);
    return Encoding.ASCII.GetString(b);
}
票数 3
EN

Stack Overflow用户

发布于 2014-03-01 00:58:40

当参数值为中文等utf8字符串时,该代码错误。

如果您需要使用CFString返回字符串

请使用带有构造函数CFString(IntPtr ptr)的CoreFoundation.CFString

参数"ptr“是指向CFString的指针。

CoreFoundation.CFString -> https://github.com/isnowrain/CoreFoundation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3249503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档