scan_lobster_deep_dialogue_controller.mjs 743 B

1234567891011121314151617
  1. import { readFileSync } from 'node:fs';
  2. const p =
  3. 'd:/work/ylrz_saas/java/fs-saas-company/src/main/java/com/fs/company/controller/workflow/LobsterDeepDialogueController.java';
  4. const raw = readFileSync(p);
  5. const t = raw.toString('utf8');
  6. console.log('BOM', raw.length >= 3 && raw[0] === 0xef && raw[1] === 0xbb && raw[2] === 0xbf);
  7. console.log('FFFD', t.includes('\uFFFD'));
  8. console.log('u escapes', (t.match(/\\u[0-9a-fA-F]{4}/g) || []).length);
  9. t.split('\n').forEach((line, i) => {
  10. if (line.includes('\uFFFD') || (/[\u0080-\u00ff]{3,}/.test(line) && /[\u4e00-\u9fff]/.test(line) === false && /[\x80-\xff]/.test(line))) {
  11. // skip
  12. }
  13. if (line.includes('\uFFFD')) {
  14. console.log('FFFD', i + 1, line.trim().slice(0, 120));
  15. }
  16. });