> On 10 Jun 2022, at 11:20, ToddAndMargo via perl6-users <perl6-users@perl.org> 
> wrote:
> 
>>> On 10 Jun 2022, at 07:54, ToddAndMargo via perl6-users 
>>> <perl6-users@perl.org> wrote:
>>> 
>>> Hi All,
>>> 
>>> I can easily  get away with this in Modula2, but
>>> how can I do this with Raku?
>>> 
>>> I wish to create a single variable that can be
>>> manipulated in two ways:
>>> 
>>> 1) as a fixed length string (Str)
>>> 
>>> 2) as a fixed length buffer (Buf)
>>> 
>>> I can think of ways to do this, but it would
>>> require separate variable and conversions routines
>>> back and forth.
>>> 
>>> Any words of Raku wisdom?
>>> 
>>> Many thanks,
>>> -T
> 
> On 6/10/22 01:23, Elizabeth Mattijsen wrote:
>> Perhaps https://raku.land/zef:raku-community-modules/Pythonic::Str is what 
>> you're after?
> 
> No really.
> 
> Maybe if I was to tell you what I am trying to do.
> 
> I am trying to do a bitwise XOR on each byte
> against another Buf.  Then I want it to act
> like a string again.
> 
> I want the variable to act as both an array
> of characters and a binary array of bytes.

Convert a string to a Buf:  say "abc".encode.Buf;  # Buf:0x<61 62 63>
Convert a Buf to a Str:     say Buf.new(97,98,99).decode;  # abc

Technically, I think the .encode is enough for what you want:

say "abc".encode.does(Blob);  # True

Reply via email to