Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: Jargon relating to Perl strings

by ikegami (Pope)
on Jan 18, 2012 at 02:22 UTC ( #948462=note: print w/ replies, xml ) Need Help??


in reply to Re: Jargon relating to Perl strings
in thread Jargon relating to Perl strings

This is not what you want to say

Indeed. I discovered this reading JavaFan's post.

What I think you meant to say

Perfect. I shall update.

a grouping of (usually but not always) 8 consecutive bits of physical storage

UTF8=0 storage format.

the problem being (as noted by others) that most people associate "byte" with (1)

If so, then reading 5 bytes produces a variable number of bytes*. That doesn't jive.

If I read 5 bytes from a file, what I get if 5 bytes as far as I'm concerned. I'm open to a better word that "byte" for this, but I haven't come across one.

One could possibly commandeer "octet"

An octet is simply an 8-bit byte. But since that's what byte means in all relevant circumstances anyway*, "octet" is no better than "byte".

* — Perl doesn't currently support systems with byte sizes other than 8.

There's also the small matter that it really doesn't make a whole lot of sense to use UTF-8-flag-on format to store something that is composed of octets, even if it is indeed possible to do.

No, but it can happen. Say you have:

# as C9 in source. print $bin_fh "AX100X";

And say one day you convert your source files to UTF-8.

# as C3 E9 in source. use utf8; print $bin_fh "AX100X";

The code is still fine, yet the string in the latter has UTF8=1.


Comment on Re^2: Jargon relating to Perl strings
Select or Download Code
Re^3: Jargon relating to Perl strings
by wrog (Monk) on Jan 20, 2012 at 02:51 UTC
    Perfect. I shall update.
    except you updated the wrong thing. It's the sentence "This is not affected by the string's UTF8 flag," under Basics->"String Value" that's tripping me (and apparently also javafan) up and that needs to either go away or be changed
    a grouping of (usually but not always) 8 consecutive bits of physical storage
    UTF8=0 storage format.
    No, any storage format. In order to talk about storage formats at all you need a word for the raw underlying bytes whatever they are and however they're to be interpreted, and redefining "byte" to mean something else makes this really difficult.

    You need a different word, and you're probably right that "octet" isn't a great choice either, so I had another thought: How about one of the following to refer to string elements that are constrained to lie in the 0-255 range?

    • "octetchar"
    • "octet-character"
    • "bytecharacter"
    • "byte-character"
    • "bytechar"
    as opposed to "general character" or "Unicode character" when the full Unicode (or UV) range is possible. This way you're emphasizing that they're still characters in the sense that everybody agrees on (i.e., they're elements of a string and we're abstracting away from how they're represented). If you then say that a single octetchar can actually be multiple bytes in the UTF8=1 storage format, the meaning is clear.

      except you updated the wrong thing.

      I had *missed* one of the three spots where I used the problem phrase. Fixed the one I have missed.

      In order to talk about storage formats at all you need a word for the raw underlying bytes whatever they are and however they're to be interpreted,

      It's not really something that comes up, but "contents of the PV".

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://948462]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2014-08-01 01:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls