Python,将空格转换为不可见的ASCII字符

2024-06-25 23:18:56 发布

您现在位置:Python中文网/ 问答频道 /正文

一个简短的问题。我不知道如何用谷歌搜索答案

我有一个python程序,用于从用户获取输入并生成字符串输出。 然后我使用这个字符串变量填充其他软件(Illustrator)上的文本框。 字符串由以下内容组成:数字+'%'+文本,例如

'50% Cool', '25% Alright', '25% Decent'.

这三个元素被输入到一个文本框中(彼此相邻),与文本框一样,如果一行与整个文本不匹配,则文本会在找到空白“”后立即下移到另一行。像这样:

50% Cool 25% Alright 25%
Decent

我需要保留此功能(如果文本不合适,文本将下移到较低的一行),但我需要它移动整个元素,而不是拆分它。 像这样:

50% Cool 25% Alright
25% Decent

我能想到的阻止这种事情发生的唯一方法;就是使用某种不可见的ASCII码将每个元素连接在一起(同时仍然保留人类可见的空白)

有人知道可以使用这种ASCII连接器吗


Tags: 字符串答案用户文本程序功能元素ascii
1条回答
网友
1楼 · 发布于 2024-06-25 23:18:56

因此,首先要了解,您所询问的是特定于编码的在ASCII/ANSI编码(或拉丁文1)中,不间断空格可以是字符160或字符255。(详见this discussion)例如:

non_breaking_space = ord(160)

但是,这是用于编码的ASCII二进制字符串。假设您使用的是Python 3(如果您不是),那么您的字符串都是Unicode字符串,而不是编码二进制字符串。

这也引出了一个问题,你打算如何把这些线放到Illustrator中。用户是否复制并粘贴它们?它们是否被编码到一个文件中?这将影响您希望如何传输非中断空间

假设您使用的是Python 3,并且不担心编码,那么这就是您想要的:

'Alright\u002025%'

\u0020插入一个Unicode非中断空格

相关问题 更多 >