草庐IT

char_string

全部标签

string 字符串和字节 base64 json的相互转换

目录一、String和字节的相互转换二、json字符串和对象的相互转换简单记录下字节、字符串之间相互的转换,因为写的时候经常会混淆,后续会持续补充一些简单方法。一、String和字节的相互转换1、字符串转字节数组//定义字符串Stringstr="你好Hello!123";//字符串转字节数组byte[]bytes=str.getBytes();//输出字节数组System.out.println(Arrays.toString(bytes));2、字节数组转字符串StringstrEnd=newString(bytes);System.out.println(strEnd);3、字节转bas

c++ - 从 C 中的函数返回 char 数组的首选方法

我目前正在开发一个C++dll,它将一个字符串返回给调用者。为了使dll独立于构建过程的其余部分,以及C++缺少标准ABI,我不得不用C字符指针包装字符串。据我所知,有两种以纯C方式返回字符串的可能性://Method1boolFoo1(wchar_t*s1,intlen){//Needsspacefor6chars+nullterminatorif(len目前是否有任何指南支持这两种解决方案中的一种?我已经看到方法1主要用于WindowsAPI,这可能是由于历史原因。但是,我也没有看到使用第二种方法有任何负面影响,这消除了调用者事先分配内存的需要。唯一的缺点是释放分配的内存的责任现在

Windows 批处理 : Split String to individual characters to variables

在WindowsBatch中,如果我有一个变量(长度可以改变),例如:“helloworld!”是否可以“拆分”变量,使每个字符都是自己的变量,因此输出可能如下所示:t1=ht2=et3=letc.如有任何帮助,我们将不胜感激。 最佳答案 使用这段代码:setlocalEnableDelayedExpansionsetstr="helloworld^!"settempstr=%str%setcount=0:loopifdefinedtempstr(settempstr=%tempstr:~1%set/acount+=1set/apo

c++ - 如何获取 %AppData% 路径作为 std::string?

我读到可以使用SHGetSpecialFolderPath();获取AppData路径。但是,它返回一个TCHAR数组。我需要一个std::string。如何将它转换为std::string?更新我读到可以使用getenv("APPDATA"),但它在WindowsXP中不可用。我想支持WindowsXP-Windows10。 最佳答案 Ttype表示SHGetSpecialFolderPath是一对函数:SHGetSpecialFolderPathA适用于WindowsANSI编码char基于文本,以及SHGetSpecialFo

windows - 批处理脚本 : Why does this print "= instead of the empty string?

我正在尝试使用Batch中的参数扩展删除某些文本中的引号。谁能告诉我这是为什么:@echooffsetlocalsetargs=%*echo%args:"=%prints"=而不是什么都没有?据我所知,%args:"=%应该将所有引号替换为空,所以我不明白为什么这正在发生。任何帮助将不胜感激,谢谢!编辑:为了澄清,我没有将任何参数传递给批处理脚本。 最佳答案 这是您不向脚本传递任何参数时得到的结果。如果未定义args,则%args:"=%展开如下:%args:被当做一个不存在的变量展开,变成nothing"=被当作它自己%(单独的百

string - 汉字输出时如何避免乱码

我发现一个关于writeFile将汉字写入文件的奇怪问题。>writeFile"r.txt""过"--outputtingasexpected.>writeFile"r.txt""图"--notdisplayingasexpected.seethefollowing:然后奇怪的事情发生了:>writeFile"r.txt""图画"--outputtingisnormal,asfollows:更多显示乱码的例子:>writeFile"r.txt""士">writeFile"r.txt""十">writeFile"r.txt""千">writeFile"r.txt""一">writeFil

c++ - Windows 使用带有 UTF-16 的 char * 函数

我将一个应用程序从Linux移植到Windows。在Linux上我使用libmagic在Windows上我不乐意从中删除的库。问题是我需要将以UTF-16编码保存的文件名传递给这样的函数:intmagic_load(magic_tcookie,constchar*filename);不幸的是,它只接受constchar*filename。我的第一个想法是将UTF-16字符串转换为本地编码,但存在一些问题-比如字符串可以包含例如中文符号和本地编码可能是俄语。结果我们将在输出中得到垃圾,程序将无法达到其目标。转换为UTF-8也无济于事,因为这是Windows,Windows以UTF-16格

c++ - win32 GUI 在窗口中显示来自 char 数组变量的文本

我希望使用win32将字符数组中的字符显示到窗口中。第二个参数类型错误。我该如何解决这个问题?谢谢chardata[5]="hello";CreateWindow(TEXT("STATIC"),TEXT(data),WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOVSCROLL,10,50,300,300,hWnd,(HMENU)none,NULL,NULL); 最佳答案 constTCHAR*data=TEXT("hello");//LPCTSTRCreateWindow(TEXT("STATIC"),d

c# - 将列表(String)保存到应用程序/隔离存储(Win8.1)

我有一个包含多个字符串的列表,我想将其保存到IsolatedStorage。做一些显而易见的事情,比如Listl=newList();ApplicationData.Current.LocalSettings.Values["locations"]=l;导致Dataofthistypeisnotsupported错误。据我所知,为WP8silverlight改编此代码效果很好。我做错了什么? 最佳答案 ApplicationData.Current.LocalSettings仅支持basedatatypes.想想如果你有一个简单的L

c++ - 检查UTF-8是wchar_t还是char?

我正在调用zlibAPIzipOpen,它从我的C++项目创建一个新的zip文件。函数签名是externzipFileZEXPORTzipOpen(constchar*pathname,intappend)。此调用最终调用fopen以创建文件。但是,此函数不支持宽字符,我想通过发送UTF-8格式(由char*和fit函数签名表示)并在调用fopen之前检查是否字符串包含非ascii字符,如果没有,像以前一样调用fopen。如果是,转换为宽字符串(wchar_t)并调用_wfopen。所以问题是是否有一个C/C++API可以检查UTF-8格式的字符串是否包含非ascii字符?基本上我正在