String Byte Length
motorola ringtones cyclobenzaprine online cheap norco lortab online flexeril online tracfone ringtones carisoprodol online paxil qwest ringtones tramadol online buy levitra didrex online free punk ringtones online ultracet buy hydrocodone xenical online free nokia ringtones sprint ringtones buy diethylpropion adipex online polyphonic ringtones cheap cialis cheap ultram cheap clomid sagem ringtones nextel ringtones cheap alprazolam ultram online cheap alprazolam samsung ringtones viagra online motorola ringtones cheap viagra cheap phentermine cheap ultram cheap diazepam cheap rivotril ativan online clonazepam online cheap tramadol carisoprodol online cheap meridia cheap valium cheap zoloft cyclobenzaprine online sonyericsson ringtones order flexeril online xanax nokia ringtones valium online cheap wellbutrin sildenafil zoloft online valium online midi ringtones cheap cialis free qwest ringtones real ringtones real ringtones polyphonic ringtones free tracfone ringtones ultracet online norco online polyphonic ringtones levitra online ambien online sildenafil online prozac online xanax online cheap ortho funny ringtones cheap vicodin phentermine online norco online lortab online hydrocodone online cheap ativan buy paxil free mono ringtones valium tramadol online zoloft online online hydrocodone viagra online cheap albuterol cheap rivotril verizon ringtones online lorazepam viagra online order didrex order phentermine free cingular ringtones ericsson ringtones free sony ericsson ringtones motorola ringtones buy zanaflex flexeril online samsung ringtones free nokia ringtones diazepam online free sonyericsson ringtones lorazepam online real ringtones rivotril ambien online albuterol online cialis online buy ambien free sagem ringtones cheap norco meridia online cheap nexium mono ringtones cheap hgh cheap ultram order ativan buy wellbutrin free ringtones diazepam online free sprint ringtones lortab online buy carisoprodol verizon ringtones clomid online xenical online xanax online free free ringtones cheap wellbutrin buy carisoprodol free tracfone ringtones free sharp ringtones buy ativan buy norco free sony ericsson ringtones free tracfone ringtones free sonyericsson ringtones soma online meridia online zyban online online clonazepam free music ringtones cheap cyclobenzaprine ativan online paxil online cheap ativan cheap nexium mp3 ringtones cheap hgh buy propecia free samsung ringtones online ortho but zyban free punk ringtones lipitor online free mtv ringtones vigrx online lorazepam online fioricet online order lorazepam free cool ringtones free qwest ringtones diazepam online cheap tenuate clonazepam online buy fioricet ativan online clonazepam online cheap propecia mp3 ringtones buy hydrocodone cheap carisoprodol cheap didrex online levitra free nextel ringtones cheap zyban free mp3 ringtones levitra celexa online free tracfone ringtones cheap adipex free ringtones free music ringtones nextel ringtones free nokia ringtones levitra online free free ringtones cheap propecia cheap nexium cialis soma online mp3 ringtones cheap tramadol cheap phentermine free funny ringtones nexium online wellbutrin online adipex online cheap cialis ultram online alltel ringtones
![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.6
Perl strings are in either the platform's native single-byte encoding (usually ISO 8859-1) or UTF-8. utf8::upgrade
(a translation function) has the side effect of returning the resulting byte length, and does nothing else if the string is already UTF-8.
$str = "Hello, world!"; $length = utf8::is_utf8($str) ? utf8::upgrade($str) : length $str;
Note: Do not use utf8;
in this case. That has other side effects, and the functions are available without it.
PHP
$length = strlen('Hello, world!');
PL/SQL
DECLARE string VARCHAR2( 50 ) := 'Hello, world!'; stringlength NUMBER; BEGIN stringlength := length( string ); END;
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]]
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
- Python
- Ruby
- Scheme
- Smalltalk
- Standard ML
- Tcl
- UNIX Shell
- VBScript
- XTalk