Java 如何将给定的ASCII值转换为Velocity模板中的相应字符?

Java 如何将给定的ASCII值转换为Velocity模板中的相应字符?,java,velocity,apache-fop,Java,Velocity,Apache Fop,我想使用velocity将给定的ASCII值转换为FOP模板中的对应字符 例如:我希望将ASCII值65转换为 我试着在velocity上下文中放置一个Character对象,然后使用Character.toChars(int),但velocity打印了它的地址而不是相应的字符,有人能告诉我我做错了什么吗。还是有更好的方法 在velocity上下文中: VelocityContext.put(“char”,新字符()) 在FOP模板中 set($ascivalue=65) $char.toCha

我想使用velocity将给定的ASCII值转换为FOP模板中的对应字符

例如:我希望将ASCII值65转换为

我试着在velocity上下文中放置一个Character对象,然后使用Character.toChars(int),但velocity打印了它的地址而不是相应的字符,有人能告诉我我做错了什么吗。还是有更好的方法

在velocity上下文中:
VelocityContext.put(“char”,新字符())

在FOP模板中
set($ascivalue=65)

$char.toChars($ascivalue)


您可以将自定义转换器传递到Velocity上下文(传递角色对象时)。但您也可以将代码更改为:

#set ($string = " ")
#set ($asciiValue = 65)
#set ($chars = $char.toChars($asciiValue))
#set ($letter = $string.copyValueOf($chars)) 
$letter

copyValueOf
用于从字符数组创建字符串。

ASCII值0x41(如果愿意,为65)是字符A。为什么需要转换它?模板创建一个图像,该图像是图像的集合。我需要在集合中的每个图像上放置一个字母标识符,根据它们在最终图像上出现的顺序。