1function checkEncodeToSJIS(str) { 2 // TQ[VyA¶Ì¶Ý`FbN 3 if (isSurrogates(str)) { 4 return true; 5 } 6 // Shift_JISÉϷūȢ¶Ì¶Ý`FbN 7 if (isNotSJIS(str)) { 8 return true; 9 } 10 return false; 11} 12 13// TQ[VyA¶Ì¶Ý`FbN 14function isSurrogates(str) { 15 var length = str.length; 16 for (var i=0; i<length; i++) { 17 // 1¶¸ÂmF·éB 18 var char = str.charAt(i); 19 if (checkSurrogates(char)) { 20 return true; 21 } 22 } 23 return false; 24} 25 26function checkSurrogates(char) { 27 // TQ[V¶Ì³K\»Éêv·é©ð`FbN·éB 28 return char.match(new RegExp("^[\uD800-\uDBFF\uDC00-\uDFFF]+$")); 29} 30 31//Shift_JISÉϷūȢ¶Ì¶Ý`FbN 32function isNotSJIS(str) { 33 var length = str.length; 34 for (var i=0; i<length; i++) { 35 // 1¶¸ÂmF·éB 36 var char = str.charAt(i); 37 if (checkNotSjis(char)) { 38 return true; 39 } 40 } 41 return false; 42} 43 44function checkNotSjis(char) { 45 if (char == "E") { 46 return false; 47 } 48 // ecl.jsðpµAGXP[v·éB 49 var result = EscapeSJIS(char); 50 // GXP[vµ½¶ð³·éB 51 result = UnescapeSJIS(result); 52 53 // Ϸɸsµ½êAuEvÆÈéB 54 if (result == "E") { 55 return true; 56 } 57 58 return false; 59}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.