查看: 1147|回复: 0
打印 上一主题 下一主题

[其他] PlayerPrefs无法存储中文回车字符的问题----解决方案

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-6-1 06:17:49 |只看该作者 |倒序浏览

问题描述:playerprefs是unity自带的一个存储机制,在存储一些比较小的数据的时候还是比较好用的;然而在一些情况中会出现无法存储的情况(关于博主是如何查看并断定它是没有存储而不是存储出错我会在问题描述之后给出方法);那么问题来了,我们要怎么解决这类问题呢?----比如比较常见的“中文回车”的存储如何解决!

在解答之前,首先感谢“一个人的信仰”的帮助,在他的博客中已经对这类问题提供了一个很好的方法,大概使用方式如下,话不多说,上代码:string st1 = "这是个test\\n,\n这里是第二行";
string st2;
PlayerPrefs.SetString ("TestString", WWW.EscapeURL(st1));
st2 = WWW.UnEscapeURL(PlayerPrefs.GetString("TestString", null));


其实在看这个答案之前我是使用Base64码来解决这个问题的,话不多说继续上代码:
Convert.FromBase64String();
Convert.ToBase64String();
中午休息时间不够了,先写到这里 后期再详细补上;
最后说一下,怎么看你的字符是否被存储的方法:
在Mac OS X上PlayerPrefs存储在~/Library/PlayerPrefs文件夹,名为unity.[company name].[product name].plist,这里company和product名是在Project Setting中设置的,相同的plist用于在编辑器中运行的工程和独立模式.
在Windows独立模式下,PlayerPrefs被存储在注册表的  HKCU\Software\[company name]\[product name]键下,这里company和product名是在Project Setting中设置的.
是持久本地化存储


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 02:51 , Processed in 0.058868 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部