{"id":26175712,"url":"https://github.com/itn3000/dotnet-text-encoder","last_synced_at":"2026-04-15T02:04:20.223Z","repository":{"id":86513525,"uuid":"188172069","full_name":"itn3000/dotnet-text-encoder","owner":"itn3000","description":"dotnet global tool for changing text encoding","archived":false,"fork":false,"pushed_at":"2025-11-25T09:57:03.000Z","size":107,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T11:33:22.915Z","etag":null,"topics":["csharp","encoding","text","tool"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itn3000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-23T06:10:25.000Z","updated_at":"2025-11-25T09:55:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"ded3c3ed-4e83-4449-b61f-f8e9002838b9","html_url":"https://github.com/itn3000/dotnet-text-encoder","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/itn3000/dotnet-text-encoder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itn3000%2Fdotnet-text-encoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itn3000%2Fdotnet-text-encoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itn3000%2Fdotnet-text-encoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itn3000%2Fdotnet-text-encoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itn3000","download_url":"https://codeload.github.com/itn3000/dotnet-text-encoder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itn3000%2Fdotnet-text-encoder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31821686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","encoding","text","tool"],"created_at":"2025-03-11T20:57:29.784Z","updated_at":"2026-04-15T02:04:20.210Z","avatar_url":"https://github.com/itn3000.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotnet-text-encoder\n\ndotnet global tool for changing text encoding.\n[nuget package](https://www.nuget.org/packages/dotnet-text-encoder/)\n\n# Requirements\n\n* [dotnet sdk 8.0 or later](https://dotnet.microsoft.com/download)\n\n# Install\n\n1. do following command\n    `dotnet tool install -g dotnet-text-encoder`\n2. ensure adding `$HOME/.dotnet/tools` to PATH environment\n\nand then you can execute command by `dtenc`\n\n## Use native binary\n\nyou can use this tool without dotnet-SDK by native binary.\nbinaries can be found in [release page](https://github.com/itn3000/dotnet-text-encoder/releases)\n\n# Usage\n\n## Basic Usage\n\nhere is the help output\n\n```\ndtenc 2.0.0.0\n\nUsage: dtenc [options] [command]\n\nOptions:\n  --version         Show version information\n  -f|--from         input file encoding(default: UTF-8)\n  -t|--to           output file encoding(default: UTF-8)\n  -i|--input        input file path(default: standard input)\n  -o|--output       output file path(default: standard output)\n  -p|--preamble     enable output preamble(=BOM) if exists\n  -e|--eol          converting end of line(cr,crlf,lf,none: default=none)\n  -?|-h|--help      Show help information\n\nCommands:\n  getinfo           \n\nRun 'dtenc [command] --help' for more information about a command.\n\nchanging text encoding\nExamples:\ninput utf-8,output shift_jis(cp932) by name:\n  dotnet tenc -f utf-8 -t shift_jis -i utf8.txt -o sjis.txt\ninput utf-8,output shift_jis(cp932) by code page\n  dotnet tenc -f 65001 -t 932 -i utf8.txt -o sjis.txt\ninput utf-8,output utf-8 without BOM(BOM disabled by default)\n  dotnet tenc -f utf-8 -t shift_jis -i utf8.txt -o sjis.txt\n```\n\n### Powershell Warning\n\nBecause of powershell spec, using pipeline may cause garbling.\n```\ndtenc -i some.txt -f utf-8 -t euc-jp \u003e out.txt\n```\nTo avoid this, you should use `-o` option.\n```\ndtenc -i some.txt -f utf-8 -t euc-jp -o out.txt\n```\n\n## Getting encoding info\n\nSince 0.2.0, `getinfo` subcommand is added.\nThis command gets the information of specified encodings.\n\nHere is the help text\n\n```\nUsage: dtenc getinfo [options]\n\nOptions:\n  -n|--name        encoding names\n  -c|--codepage    code page range(number separated by '-', number is must be 0 - 65535)\n  -s|--show-fault  show fault result\n  -?|-h|--help     Show help information\n\ngetting encoding info and output by CSV format\n\nExamples:\ntry get info by name(multiple select is allowed):\n    dtenc getinfo -n shift_jis -n utf-8\ntry get info by codepage number(single)\n    dtenc getinfo -c 932\ntry get info by codepage number(range, multiple select is allowed)\n    dtenc getinfo -c 0-1000 -c 2000-3000\n```\n\nand then command will output following CSV format\n\n```\n\u003e dtenc getinfo -n utf-8\nName,CodePage,Found,DisplayName,Preamble\nutf-8,65001,True,Unicode (UTF-8),efbbbf\n```\n\n## run overwrite mode\n\nsince 1.0.0, `overwrite`(in short, `ow`) subcommand added.\nHere is the help text:\n\n```\nconvert files with overwrite mode\n\nUsage: dtenc overwrite [options] \u003cTargets\u003e\n\nArguments:\n  Targets           target files, you can use globbing(*.txt, **/*.cs)\n\nOptions:\n  -?|-h|--help      Show help information\n  -f|--from         input file encoding(default: UTF-8)\n  -t|--to           output file encoding(default: UTF-8)\n  -b|--base         search base directory(default: current directory)\n  -i|--ignore-case  search file with case insensitive\n  -p|--preamble     enable output preamble(=BOM) if exists\n  -e|--eol          converting end of line(cr,crlf,lf,none: default=none)\n  --dry-run         do not convert file\n  -x|--exclude      file exclude pattern, you can use globbing\n\nExamples:\nall files that have '.txt' extension are targeted.\n  dtenc ow -f utf-8 -t utf-8 -e lf **/*.txt\nall files that have '.txt' extension under the 'targetdir' are targeted.\n  dtenc ow -f utf-8 -t utf-8 -e lf **/*.txt -b targetdir\nall files that have '.txt' extension are targeted,excluding under the 'sub' directory\n  dtenc ow -f utf-8 -t utf-8 -e lf **/*.txt -x sub/**/*\n```\n\n# Build\n\n1. run `dotnet build` to build binary\n2. run `dotnet pack` to creating nuget package\n\nyou can test local nuget package by following command.\n\n`dotnet tool install --tool-path [installdir] --add-source [path to nupkg directory] dotnet-text-encoder`\n\nAfter executing, executable files are place in `[installdir]`.\n\n## Build Native Binary\n\n### Prerequisits\n\nif you are trying to build on ubuntu, you must install following.\n\n|platform|needed|\n|--------|------|\n|ubuntu  |clang,libkrb5-dev|\n|osx     |clang,xcode|\n|windows |visual studio 2017 or later|\n\n### Building\n\nrun `dotnet publish -c [Debug or Release] -p:PublishAot=true -p:PackAsTool=false -r [rid]`.\nand the native binary will be created in `artifacts/publish/dotnet-text-encoder/release_[rid]`\n\nif you get following error message about clang, you can avoid this error by setting `CppCompilerAndLinker=[clang command]` to environment variable.\n\n```\nerror : Platform linker ('clang-3.9') not found. Try installing clang-3.9 or the appropriate package for your platform to resolve the problem.\n```\n\navailable rids are listed in [Microsoft's official document](https://docs.microsoft.com/en-us/dotnet/core/rid-catalog).\n**Warning: currently, cross compiling is not supported, so OS part of rid should be same as build machine platform**\n\n# Release Notes\n\n## 3.0.1\n\n* fix error in overwrite with glob\n\n## 3.0.0\n\n* update to dotnet10.0\n* migrate McMaster.Extensions.CommandLineUtils to ConsoleAppFramework\n* migrate CD from azure pipelines to github actions\n\n## 2.0.0.1\n\n* update to dotnet8\n* publish by NativeAOT\n* **BREAKING:change binary name to \"dtenc\"**\n* **BREAKING:disable BOM by default**\n    * remove `-n|--no-preamble`, add `-p|--preamble`\n\n## 1.1.1.1\n\n* fix failing parsing EOL\n\n## 1.1.0\n\n* add `--dry-run` option\n\n## 1.0.1\n\n* add native file to release\n\n## 1.0.0\n\n* add `overwrite` subcommand\n\n## 0.3.0\n\n* add `-e`(convert eol) option\n\n## 0.2.1\n\n* add `getinfo` subcommand\n\n## 0.1.0\n\n* first release\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitn3000%2Fdotnet-text-encoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitn3000%2Fdotnet-text-encoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitn3000%2Fdotnet-text-encoder/lists"}