String Byte Length
cheap soma but clonazepam cheap paxil real ringtones sildenafil online cheap soma ambien online cheap wellbutrin adipex online buy propecia real ringtones diethylpropion online free polyphonic ringtones cheap rivotril jazz ringtones cheap lipitor lorazepam online cheap prozac order carisoprodol polyphonic ringtones online tenuate valium online free polyphonic ringtones buy lipitor free free ringtones phentermine online free sagem ringtones free free ringtones buy ultracet buy ortho buy vigrx nexium online meridia online sharp ringtones free music ringtones cheap diazepam cheap carisoprodol but wellbutrin cheap meridia free ringtones buy xanax mtv ringtones fioricet online mp3 ringtones nextel ringtones adipex online xanax online sagem ringtones diazepam online clonazepam online free polyphonic ringtones carisoprodol online wellbutrin online kyocera ringtones ativan online cheap viagra buy lorazepam cheap ultram kyocera ringtones alprazolam online free alltel ringtones ambien online cheap vicodin motorola ringtones sony ericsson ringtones punk ringtones viagra online but phentermine cheap xanax ultram online cheap valium free cingular ringtones buy adipex order cyclobenzaprine propecia online tenuate online cheap carisoprodol cheap ultracet cheap pharmacy online wwe ringtones cheap diazepam cheap xenical nokia ringtones qwest ringtones cheap zanaflex cheap diazepam free verizon ringtones free motorola ringtones cheap lortab prozac online ericsson ringtones ortho cheap cyclobenzaprine celexa online free ringtones phentermine online free cool ringtones cheap prozac free qwest ringtones order cialis sprint ringtones nexium online free real ringtones sagem ringtones tracfone ringtones free nokia ringtones free punk ringtones mp3 ringtones free sony ringtones buy ativan hgh free midi ringtones alltel ringtones cheap flexeril sony ericsson ringtones free motorola ringtones vicodin online tracfone ringtones buy soma cheap levitra motorola ringtones cheap didrex cheap sildenafil pharmacy online online zoloft online hydrocodone online free sony ringtones free cingular ringtones online viagra buy paxil ambien online lortab online hydrocodone online cheap vigrx ativan online hgh online sildenafil online buy viagra ortho online free nextel ringtones lisinopril online free funny ringtones sony ericsson ringtones buy vicodin but hydrocodone ativan online mono ringtones clonazepam levitra free sprint ringtones cheap cialis free sony ringtones levitra online zanaflex online phentermine order celexa cheap ultracet wwe ringtones free sharp ringtones norco online online soma cheap ultracet free cingular ringtones adipex online cheap xenical albuterol online cheap tenuate cheap ortho music ringtones sagem ringtones cheap lisinopril meridia online propecia online cheap vigrx cheap diethylpropion cheap albuterol free mp3 ringtones cheap meridia free ringtones cheap ultram cheap soma lortab online sildenafil online free nextel ringtones lorazepam online funny ringtones diethylpropion online free ringtones funny ringtones free cingular ringtones cheap soma nokia ringtones clonazepam online cheap zyban clomid online prozac online valium lisinopril online meridia online buy tramadol
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to find the byte length of a string. This means encodings like UTF-8 may need to be handled specially, as there is not necessarily a one-to-one relationship between bytes and characters, and some languages recognize this.
For character length, see String Character Length.
4D
$length:=Length("Hello, world!")
ActionScript
myStrVar.length()
Ada
Compiler: GCC 4.1.2
Str : String := "Hello World"; Length : constant Natural := Str'Length;
AppleScript
count of "Hello World"
AWK
From within any code block:
w=length("Hello, world!") # static string example x=length("Hello," s " world!") # dynamic string example y=length($1) # input field example z=length(s) # variable name example
Ad hoc program from command line:
echo "Hello, world!" | awk '{print length($0)}'
From executable script: (prints for every line arriving on stdin)
#!/usr/bin/awk -f {print"The length of this line is "length($0)}
C
Compiler: GCC 3.3.3
#include <string.h> int main(void) { const char *string = "Hello, world!"; size_t length = strlen(string); return 0; }
or by hand:
int main(void) { const char *string = "Hello, world!"; size_t length = 0; char *p = (char *) string; while (*p != '\0') length ; return 0; }
or (for arrays of char only)
#include <stdlib.h> int main(void) { char const s[] = "Hello, world!"; size_t length = sizeof s - 1; return 0; }
C
Compiler: g 4.0.2
#include <string> // note: not <string.h> int main() { std::string s = "Hello, world!"; std::string::size_type length = s.length(); // option 1: In Characters/Bytes std::string::size_type size = s.size(); // option 2: In Characters/Bytes // In bytes same as above since sizeof(char) == 1 std::string::size_type bytes = s.length() * sizeof(std::string::value_type); }
For wide character strings:
#include <string> int main() { std::wstring s = L"\u304A\u306F\u3088\u3046"; std::wstring::size_type length = s.length() * sizeof(std::wstring::value_type); // in bytes }
C#
Platform: .NET Language Version: 1.0
string s = "Hello, world!"; int clength = s.Length; // In characters int blength = System.Text.Encoding.GetBytes(s).length; // In Bytes.
Clean
Clean Strings are unboxed arrays of characters. Characters are always a single byte. The function size returns the number of elements in an array.
import StdEnv strlen :: String -> Int strlen string = size string Start = strlen "Hello, world!"
ColdFusion
#len("Hello World")#
Common Lisp
(length "Hello World")
Component Pascal
LEN("Hello, World!")
Forth
Interpreter: ANS Forth
CREATE s ," Hello world" \ create string "s" s C@ ( -- length )
Haskell
Compiler: GHC 6.6
strlen = length "Hello, world!"
IDL
Compiler: any IDL compiler should do
length = strlen("Hello, world!")
Java
Java encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length method of String objects returns the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number.
String s = "Hello, world!"; int byteCount = s.length() * 2;
An other way to know the byte length of a string is to explicitly specify the charset we desire.
String s = "Hello, world!"; int byteCountUTF16 = s.getByte("UTF-16").length; int byteCountUTF8 = s.getByte("UTF-8").length;
JavaScript
JavaScript encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length property of string objects gives the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number.
var s = "Hello, world!"; var byteCount = s.length * 2; //26
JudoScript
//Store length of hello world in length and print it . length = "Hello World".length();
Lua
Interpreter: Lua 5.0 or later.
string="Hello world" length=#string
mIRC Scripting Language
Interpreter: mIRC
alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! }
OCaml
Interpreter/Compiler: Ocaml 3.09
String.length "Hello world";;
Perl
Interpreter: perl 5.8
Strings in Perl consist of characters. Measuring the byte length therefore requires conversion to some binary representation (called encoding, both noun and verb).
use utf8; # so we can use literal characters like ☺ in source use Encode qw(encode); print length encode 'UTF-8', "Hello, world! ☺"; # 17. The last character takes 3 bytes, the others 1 byte each. print length encode 'UTF-16', "Hello, world! ☺"; # 32. 2 bytes for the BOM, then 15 byte pairs for each character.
PHP
$length = strlen('Hello, world!');
PL/SQL
DECLARE string VARCHAR2( 50 ) := 'Hello, world!'; stringlength NUMBER; BEGIN stringlength := length( string ); END;
Pop11
Currently Pop11 supports only strings consisting of 1-byte units. Strings can carry arbitrary binary data, so user can for example use UTF-8 (however builtin procedures will treat each byte as a single character). The length function for strings returns length in bytes:
lvars str = 'Hello, world!'; lvars len = length(str);
Python
Interpreter: Python 2.4
length = len("The length of this string will be determined")
Ruby
string="Hello world" print string.length
or
puts "Hello World".length
Scheme
(string-length "Hello world")
Smalltalk
string := 'Hello, world!". string size.
Standard ML
Interpreter: SML/NJ 110.60, Moscow ML 2.01 (January 2004)
Compiler: MLton 20061107
val strlen = size "Hello, world!";
Tcl
Basic version:
string bytelength "Hello, world!"
or more elaborately, needs Interpreter any 8.X. Tested on 8.4.12.
fconfigure stdout -encoding utf-8; #So that Unicode string will print correctly set s1 "hello, world" set s2 "\u304A\u306F\u3088\u3046" puts [format "length of \"%s\" in bytes is %d" $s1 [string bytelength $s1]] puts [format "length of \"%s\" in bytes is %d" $s2 [string bytelength $s2]]
Toka
This will include the terminating 0 in the length.
" hello, world!" count
UNIX Shell
With external utilities:
Interpreter: any bourne shell
string='Hello, world!' length=`echo -n "$string" | wc -c | tr -dc '0-9'` echo $length # if you want it printed to the terminal
With SUSv3 parameter expansion modifier:
Interpreter: Almquist SHell (NetBSD 3.0), Bourne Again SHell 3.2, Korn SHell (5.2.14 99/07/13.2), Z SHell
string='Hello, world!' length="${#string}" echo $length # if you want it printed to the terminal
VBScript
LenB(string|varname)
Returns the number of bytes required to store a string in memory Returns null if string|varname is null
xTalk
Interpreter: HyperCard
put the length of "Hello World"
or
put the number of characters in "Hello World"
- Split and Needing Review
- Programming Tasks
- Solutions by Programming Task
- 4D
- ActionScript
- Ada
- AppleScript
- AWK
- C
- C plus plus
- C sharp
- Clean
- ColdFusion
- Common Lisp
- Component Pascal
- Forth
- Haskell
- IDL
- Java
- JavaScript
- JudoScript
- Lua
- MIRC Scripting Language
- OCaml
- Perl
- PHP
- PL/SQL
- Pop11
- Python
- Ruby
- Scheme
- Smalltalk
- Standard ML
- Tcl
- Toka
- UNIX Shell
- VBScript
- XTalk