朱莉娅(Julia)中`codepoint'的反函数是什么? Julia具有一个功能编码点,该功能编码点从“字符”转换为Unicode Codepoint值,也就是UINT32。对于ASCII文本,这将是小于255的值。 它可用于转换s ...

问题描述 投票:0回答:2
。对于ASCII文本,这将是小于255的值。

可用于将包含许多

String
S(Unicode Codepoints)的
Char
转换为整数值数组。

一个方向如何转换?例如,如果我有一些数值(例如值),如何将这些值之一转换为a

UInt8

可能有两条途径来执行此操作。

convert

String

UInt8
(朱莉娅(Julia)中的32位),然后将许多转换为
Char

转换到
    Char
  • String
    ,然后将许多长度1个字符串连接到较大的
    UInt8
    	
  • 如果您有
  • String
    ,则可以转换为
    String
    UInt32
    如果您有
  • Char
,可以直接去
julia
2个回答
0
投票

julia> codepoint.(collect("xyë")) 3-element Vector{UInt32}: 0x00000078 0x00000079 0x000000eb julia> String(Char.(ans)) "xyë"

    
版本0.7之前的Julia曾经有用于处理非UTF-8字符串的方法,但是该功能已从语言中删除并授予用于实现的软件包。 
官方文档
提到
legacyStrings.jl

以效仿诸如
UInt8
的函数,该功能将为您转换为a

String

,从那里您可以将其转换为
julia> UInt8.(codeunits("xyë")) 4-element Vector{UInt8}: 0x78 0x79 0xc3 0xab julia> String(ans) "xyë"
utf32


0
投票

如果您选择从RAW滚动自己的UTF-32解码器和编码器,请小心地通过阅读BOM并相应地进行操作,以正确指定端口。 UTF32String为您执行此操作(请参阅the源代码有关您自己执行此操作的示例的源代码):

String
	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.