Appending a byte to String in java using escape sequence -
i wish append byte i.e. 16 = 0x10 string, using escape sequence in single line of code:
string appendedstring = new string('\16'+"string"); this results in hex representation of appendedstring = 0x0e,0x74,0x72,0x69,0x6e,0x67
using \2 this:
string appendedstring = new string('\2'+"string"); works fine resulting in hex representation of appendedstring = 0x02,0x74,0x72,0x69,0x6e,0x67
using \10:
string appendedstring = new string('\10'+"string"); results in hex representation of appendedstring = 0x08,0x74,0x72,0x69,0x6e,0x67
someone may kindly explain , suggest solution. thanks.
the problem using octal escape. java language specification, section 3.10.6, defines escapes, including octal escapes.
octalescape: \ octaldigit \ octaldigit octaldigit \ zerotothree octaldigit octaldigit
so, \16 character 14 in decimal, or 0x0e in hexadecimal.
the character \2 remains 2 in decimal , hexadecimal.
the character \10 8 in decimal, or 0x08 in hexadecimal.
to use hexadecimal escapes, use unicode escape, defined in jls section 3.3:
unicodeescape:
\ unicodemarker hexdigit hexdigit hexdigit hexdigitunicodemarker:
u unicodemarker u
such \u0016, \u0002, , \u0010.
Comments
Post a Comment