String 从字符串创建NSData对象

String 从字符串创建NSData对象,string,swift,nsstring,plist,nsdata,String,Swift,Nsstring,Plist,Nsdata,我的应用程序需要能够获取字符串并将其作为NSData对象保存到NSDictionary中,这样当NSDictionary写入.plist文件时,生成的文件包含的数据为用户键入的字符串(无编码)。是否可以在不手动为.plist文件编写XML的情况下执行此操作 提前感谢您的帮助。您想做什么就做什么 首先,声称不希望对字符串进行编码是没有意义的。编码是从字符串生成字节流的过程。没有编码,就没有字符串的表示形式。字符串是抽象的。它们本身没有具体的代表性。只有编码才能产生这种效果 无论如何,这不是将NSD

我的应用程序需要能够获取
字符串
并将其作为
NSData
对象保存到
NSDictionary
中,这样当
NSDictionary
写入
.plist
文件时,生成的文件包含的数据为
用户键入的字符串(无编码)
。是否可以在不手动为
.plist
文件编写XML的情况下执行此操作


提前感谢您的帮助。

您想做什么就做什么

首先,声称不希望对字符串进行编码是没有意义的。编码是从字符串生成字节流的过程。没有编码,就没有字符串的表示形式。字符串是抽象的。它们本身没有具体的代表性。只有编码才能产生这种效果


无论如何,这不是将
NSData
对象序列化为属性列表文件的方式。即使手动编写该文件,它也不是一个正确的属性列表文件,并且没有其他属性列表读取程序能够解析它。你是如何得出你的应用程序需要这种能力的结论的?

没有办法做你想做的事

首先,声称不希望对字符串进行编码是没有意义的。编码是从字符串生成字节流的过程。没有编码,就没有字符串的表示形式。字符串是抽象的。它们本身没有具体的代表性。只有编码才能产生这种效果


无论如何,这不是将
NSData
对象序列化为属性列表文件的方式。即使手动编写该文件,它也不是一个正确的属性列表文件,并且没有其他属性列表读取程序能够解析它。你是如何得出你的应用程序需要这种能力的结论的?

没有办法做你想做的事

首先,声称不希望对字符串进行编码是没有意义的。编码是从字符串生成字节流的过程。没有编码,就没有字符串的表示形式。字符串是抽象的。它们本身没有具体的代表性。只有编码才能产生这种效果


无论如何,这不是将
NSData
对象序列化为属性列表文件的方式。即使手动编写该文件,它也不是一个正确的属性列表文件,并且没有其他属性列表读取程序能够解析它。你是如何得出你的应用程序需要这种能力的结论的?

没有办法做你想做的事

首先,声称不希望对字符串进行编码是没有意义的。编码是从字符串生成字节流的过程。没有编码,就没有字符串的表示形式。字符串是抽象的。它们本身没有具体的代表性。只有编码才能产生这种效果



无论如何,这不是将
NSData
对象序列化为属性列表文件的方式。即使手动编写该文件,它也不是一个正确的属性列表文件,并且没有其他属性列表读取程序能够解析它。您是如何得出您的应用程序需要此功能的结论的?

正如我在问题中所说的,我不想对字符串进行编码。@ThefreedElement我想要的相当于
“\(myTextView.text)
,但没有手动编写XML。正如我在问题中所说,我不想对字符串进行编码。@我想要的redelement相当于
“\(myTextView.text)
,但没有手动编写XML。正如我在问题中所说,我不想对字符串进行编码。@ThefreedElement我想要的相当于
“\(myTextView.text)
,但不需要手动编写XML。正如我在问题中所说,我不想对字符串进行编码。@ThefreedElement我想要的相当于
”\(myTextView.text)
,但不需要手动编写XML。为了回答您关于我如何得出我的应用程序需要此功能的结论的问题,我的应用程序是一个属性列表编辑器。我想要的是相当于
“\(myTextView.text)
,但不需要手动编写XML。可以肯定的是,你是说这是不可能的吗?(我不确定我最初的问题是否完全清楚。)可以编写您喜欢的任何文件内容,但您描述的不会是任何其他应用程序都可以解析的plist文件。属性列表XML架构的
data
元素是Base64编码的字节流。如果其他plist读取应用程序尝试读取您的格式,它将尝试Base64解码纯文本并获取n充其量是错误,充其量是乱码数据。除此之外,
myTextView.text
可能无法直接插入XML。如果您正在编写属性列表编辑器,则应使用
NSPropertyListSerialization
对对象进行序列化。我的目的是创建一个
UITextView
,用户可以在其中输入pre-Base64-encoded文本。将数据对象排除在外似乎更有意义,因为它们可能(几乎)从未手动写入。如果用户确实对输入数据对象感兴趣,则可以构建各种接口机制。让他们选择文件。让他们以其他形式(纯文本、图像、颜色选择器等)输入数据并指定适当的转换。添加一个十六进制编辑器接口或其他东西。如果要让他们以文本形式输入Base64编码的数据,那么您的程序应该对其进行解码,将生成的字节流存储在
NSData
中,将其放在对象层次结构中,然后像正常情况一样在plist中序列化。回答您关于如何使用ame为了得出我的应用程序需要此功能的结论,我的应用程序是一个属性列表编辑器。我想要的是相当于
“\(myTextView.text)
,但不需要手动编写XML。可以肯定的是,你是说这是不可能的吗?(我不确定我原来的问题