This week's book giveaway is in the Design forum.We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!

# Problem Converting to Decimal NCR in Linux using java code

avinash reddy
Greenhorn
Posts: 5
Hi,

I am trying to convert a given string to its corresponding Decimal NCR using the following code. This code seems to work fine in windows but when I use the same code in linux environment it started giving wrong output. Can some help me with this???

Thanks

public static void main(String[] args){
System.out.println(convertToDecimalNCR1(args[0]));
}

private static String convertToDecimalNCR1(String str) {
System.out.println(str);

String preserve="ascii";
String before="&#";
String after=";";
int haut = 0;

String cp;
String CPstring = "";
for (int i = 0; i < str.length(); i++) {
int b = str.codePointAt(i);
if (b < 0 || b > 0xFFFF) {

return null;
}
if (haut != 0) {
if (0xDC00 <= b && b <= 0xDFFF) {
cp = ""+0x10000 + ((haut - 0xD800) << 10) + (b - 0xDC00);
CPstring += before + cp + after;
haut = 0;
continue;
}else {

return null;
}
}
if (0xD800 <= b && b <= 0xDBFF) {
haut = b;
}else {
if (preserve.equals("ascii")&& b <= 127) {
CPstring += str.charAt(i);
}else {
cp = ""+b;
CPstring += before + cp + after;
}
}
}
return CPstring;
}

}

Stefan Wagner
Ranch Hand
Posts: 1923
Maybe I'm allowed to put some indentation to your code, as well as code-blocks?

I don't see anything here, which should lead to OS-specific behaviour. Can you please give us some testcases:

Input, output, intendet output/output on windows.