Thanks, all.  These suggestions will get me close enough for what I
need.  Fortunately, this data isn't required for anything essential. 
I appreciate all the help.

On 4/20/06, Ashwin Mathew <[EMAIL PROTECTED]> wrote:
> Try this: http://martin.nobilitas.com/java/sizeof.html
> The empirical formula derived there indicates that string memory is
> 38+/-2 + 2*(string length) bytes. In my own tests on JDK 1.4.2_09 I got
> something similar: 40 + 2*(string length) bytes when length>2. For
> length 0 to 2, the size works out to just 40 bytes.
>
> That said, as Nick mentions, if all that you're trying to do is get an
> idea of the relative memory occupied by different strings, rather than
> the actual physical memory (which, as discussed in the link above, can
> be determined only empirically, not precisely), you might be best off
> just checking the length.
>
> -----Original Message-----
> From: Nick de Voil [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, April 19, 2006 9:47 PM
> To: CF-Talk
> Subject: Re: Get String Byte Size
>
> > Anyone have any quick code to retrieve the number of bytes in a string
>
> > /without/ writing the string to a file first?  I'm trying to do a
> > little debugging and I'd like to know the size of a string that is
> > being returned to the browser.
>
> The number of bytes occupied in the application's memory by the Java
> String object is probably not the same as the number of bytes occupied
> by the same string in the HTTP response.
>
> I could be wrong on some points below but I'm sure others will correct
> me if so (Paul?)
>
> As I understand it, a Java program such as CF always stores characters
> internally using UCS-2 encoding, i.e. 2 bytes per character. In
> addition, the String object will include 20 or 30 extra bytes for
> storing the length of the string etc.
>
> I believe that CF's default behaviour is to encode HTTP responses using
> UTF-8 encoding, i.e. 1 byte per character if you're only using ASCII
> characters, and of course the extra bytes used by the String object
> won't be there either.
>
> So let's say your string is "Rob".
>
> - In CF the Len() function gives you 3.
>
> - The size of the Java object - even if you could work it out, which is
> next to impossible in Java - would be 6 + the extra bytes, maybe 40 or
> more.
>
> - But in the HTTP response it would probably be 3.
>
> So, if I've understood your question correctly and it's the HTTP
> response you're interested in, just using Len() in CF will give you the
> best answer.
>
> Nick
>
>
>
>
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:238250
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to