问题标签 [ansistring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8026 浏览

delphi - 在 Delphi 2009 中将整数值转换为 AnsiString

IntToStr()函数返回现在是 Unicode 的字符串。我想转换为AnsiString. 我可以AnsiString(IntToStr(I))安全使用吗?

0 投票
4 回答
1540 浏览

delphi - 处理文本文件的应用程序转换为 Unicode

我的 Win32 Delphi 应用程序分析由不支持 Unicode 的其他应用程序生成的文本文件。因此,我的应用程序需要读取和写入 ansi 字符串,但我想通过在 GUI 中使用 Unicode 来提供更好的本地化用户体验。该应用程序对源自 TList 的对象中的字符串进行了一些非常繁重的逐字符分析。

在从 Delphi 2006 到 Delphi 2009 过渡到 Unicode GUI 时,我应该计划:

  1. 在我的应用程序中完全使用 Unicode,除了 ansistring 文件 I/O?
  2. 封装处理来自其他 Unicode 应用程序的 ansistrings 的代码(即继续在内部将它们作为 ansistrings 处理)。

我意识到真正详细的响应需要我的大量代码 - 我只是询问那些已经完成此转换并且仍然必须使用纯文本文件的人的印象。ansistrings 和 Unicode 之间的障碍在哪里?

编辑:如果#1,有什么建议可以为 ansistring 输出映射 Unicode 字符串?我猜想输入字符串的转换将使用 tstringlist.loadfromfile 自动进行(例如)。

0 投票
6 回答
3146 浏览

delphi - AnsiString 在 Delphi 2009 应用程序中从 Delphi 2007 DLL 返回值

我有一个用 D2007 编译的 DLL,它具有返回 AnsiStrings 的函数。

我的应用程序是在 D2009 中编译的。当它调用 AnsiString 函数时,它会返回垃圾。

我创建了一个小测试 app/dll 进行实验,发现如果 app 和 dll 都使用相同版本的 Delphi(2007 或 2009)编译,则没有问题。但是当一个在 2009 年和另一个 2007 年编译时,我得到了垃圾。

我已经尝试在两个项目中包含最新版本的 FastMM,但即便如此,2009 应用程序也无法从 2007 dll 中读取 AnsiStrings。

关于这里出了什么问题的任何想法?有没有办法解决这个问题?

0 投票
3 回答
852 浏览

delphi - 引发异常时,在 Delphi 2010/2009 中构建的 Dll 与 Delphi 7 不兼容

我在 Delphi 2010 中构建了一个 dll,它在我的 delphi 7 应用程序中使用。

我知道 unicode AnsiString / string 问题,根据我的测试,一切正常,直到我的 delphi 2010 dll 没有引发异常。

事实是,是否有任何与 unicode/AnsiString 世界兼容的特殊/处理异常?也就是说,我的 Delphi 2010 是否能够引发可以在我的 delphi 7 应用程序中适当处理的异常?

感谢任何帮助。

达尼洛。

0 投票
3 回答
293 浏览

c++ - 区分字符串格式

有一个无类型指针指向某个可以保存 ANSI 或 Unicode 字符串的缓冲区,我如何判断它保存的当前字符串是否是多字节的?

0 投票
2 回答
10530 浏览

delphi - 在 Delphi XE 中将 UnicodeString 转换为 PAnsiChar

在 Delphi XE 中,我使用的是BASS 音频库,其中包含以下功能:

'url' 参数的类型是 PAnsiChar,所以在我的代码中我做了一个演员表:

编译器在这一行发出警告:“字符串到 PAnsiChar 的可疑类型转换”。在尝试消除警告时,我发现推荐的方法是使用双重转换:

这确实消除了警告,但 BASS 函数现在返回错误代码 2(“无法打开文件”),它告诉我它收到的 URL 字符串以某种方式损坏。我看不到低音 DLL 实际接收到的内容,但在调试器中使用断点,字符串看起来不错:

此时字符串 s 看起来很好,但是当我通过它时 BASS 函数会失败。我的初始代码:PAnsiChar( url ) 与 BASS 配合得很好,但会发出警告。

那么在没有警告的情况下从 UnicodeString 到 PAnsiChar 的正确方法是什么?

0 投票
2 回答
4894 浏览

delphi - Delphi Ansistrings

我在这里有一个案例,我打算从 Delphi 7 迁移到 delphi 2011 XE,令我惊讶的是,许多组件会因为 ansistrings 而出现问题,在 delphi xe 中它们看起来像日文/中文字符,现在我使用的单位是一个 PCSC 连接器,似乎已从原始开发人员中停产/放弃。

基本上我想要的是一种简单的方法来再次读取字符串,尽可能少地修改原始代码..

另外,如果有任何关于如何为 2009 年及更新版本准备好组件 ansistring 的好的教程也会对我有所帮助

0 投票
1 回答
2196 浏览

delphi - Delphi:Unicode->AnsiString,非Unicode程序的语言

我有德尔福 2010。

XXX 组件使用 File_Path:AnsiString。路径可以用 XXX 语言编写。如果我在 Windows 设置中设置为非 unicode 程序使用 XXX 语言,则 XXX-component 识别路径,但如果我设置默认 Windows 设置(英语 Windows-English for non-unicode 程序),XXX-component 无法识别路径。

如何解决?

谢谢!!!

0 投票
2 回答
4554 浏览

string - Delphi XE2 AnsiFormat() 和 ANSI 字符串常量

是否有一个仅适用于 Ansi 字符串的便捷 Format() 函数?因为每次我将 AnsiString 与 Format() 一起使用时,都会收到警告。不,我不希望 Delphi 在 Wide 和 Ansi 字符串之间来回转换我的 AnsiStrings。那只会让事情变得非常慢。另外,有没有办法强制字符串常量为 Ansi?看一下这个

然后当我使用 SomeStrFunc('ABC') 时,它将调用宽字符串版本。如果我想使用 Ansi 版本并强制 Delphi 在 AnsiChars 中存储 'ABC' 常量怎么办。

0 投票
2 回答
12829 浏览

string - Delphi:如何将 TIdBytes 编码为 Base64 字符串?

如何将 TIdBytes 编码为 Base64 字符串(不是 AnsiString)?

或者如何通过 AContext.Connection.Socket.Write() 发送 AnsiString ?

编译器说从'AnsiString'到'string'的隐式字符串转换

“data”变量包含来自网站的 UTF-8 数据。