Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      The state of DevOps and AI: Not just hype

      September 1, 2025

      A Breeze Of Inspiration In September (2025 Wallpapers Edition)

      August 31, 2025

      10 Top Generative AI Development Companies for Enterprise Node.js Projects

      August 30, 2025

      Prompting Is A Design Act: How To Brief, Guide And Iterate With AI

      August 29, 2025

      Look out, Meta Ray-Bans! These AI glasses just raised over $1M in pre-orders in 3 days

      September 2, 2025

      Samsung ‘Galaxy Glasses’ powered by Android XR are reportedly on track to be unveiled this month

      September 2, 2025

      The M4 iPad Pro is discounted $100 as a last-minute Labor Day deal

      September 2, 2025

      Distribution Release: Linux From Scratch 12.4

      September 1, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Enhanced Queue Job Control with Laravel’s ThrottlesExceptions failWhen() Method

      September 2, 2025
      Recent

      Enhanced Queue Job Control with Laravel’s ThrottlesExceptions failWhen() Method

      September 2, 2025

      August report 2025

      September 2, 2025

      Fake News Detection using Python Machine Learning (ML)

      September 1, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Installing Proxmox on a Raspberry Pi to run Virtual Machines on it

      September 2, 2025
      Recent

      Installing Proxmox on a Raspberry Pi to run Virtual Machines on it

      September 2, 2025

      Download Transcribe! for Windows

      September 1, 2025

      Microsoft Fixes CertificateServicesClient (CertEnroll) Error in Windows 11

      September 1, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»Convert a text file from UTF-8 encoding to ANSI using Python in AWS Glue

    Convert a text file from UTF-8 encoding to ANSI using Python in AWS Glue

    April 15, 2025

    Overview:

    To convert a text file from UTF-8 encoded data to ANSI using AWS Glue, you will typically work with Python or PySpark. However, it’s important to understand that ANSI is not a specific encoding but often refers to Windows-1252 (or similar 8-bit encodings) in a Windows context.

    AWS Glue, running on Apache Spark, uses UTF-8 as the default encoding. Converting to ANSI requires handling the character encoding during the writing phase, because Spark itself doesn’t support writing files in encodings other than UTF-8 natively. But there are a few workarounds.

    Here’s a step-by-step guide to convert a text file from UTF-8 to ANSI using Python in AWS Glue, assuming you’re working with a plain text file and want to output a similarly formatted file in ANSI encoding.

     

    General Process Flow:

    Technical Approach Step-By-Step guide:

    Step1: Add the import-statements to the code

    import boto3
    import codecs
    

    Step2: Specify the source/target file paths & S3 bucket details

    # Initialize S3 client
    s3_client = boto3.client('s3')
    s3_key_utf8 = ‘utf8_file_path/filename.txt’
    s3_key_ansi = 'ansi_file_path/filename.txt'
    
    # Specify S3 bucket and file paths
    bucket_name = outgoing_bucket #'your-s3-bucket-name'
    input_key = s3_key_utf8   #S3Path/name of input UTF-8 encoded file in S3
    output_key = s3_key_ansi  #S3 Path/name to save the ANSI encoded file
    

    Step3: write a function to convert the text file from UTF-8 to ANSI, based on the parameters supplied (S3 bucket name, source-file, target-file)

    # Function to convert UTF-8 file to ANSI (Windows-1252) and upload back to S3
    def convert_utf8_to_ansi(bucket_name, input_key, output_key):
        # Download the UTF-8 encoded file from S3
        response = s3_client.get_object(Bucket=bucket_name, Key=input_key)
        # Read the file content from the response body (UTF-8 encoded)
        utf8_content = response['Body'].read().decode('utf-8')
        # Convert the content to ANSI encoding (Windows-1252)
        ansi_content = utf8_content.encode('windows-1252', 'ignore')  # 'ignore' to handle invalid characters
        # Upload the converted file to S3 (in ANSI encoding)
        s3_client.put_object(Bucket=bucket_name, Key=output_key, Body=ansi_content) 
    

    Step4: Call the function that converts the text file from UTF-8 to ANSI

    # Call the function to convert the file 
    convert_utf8_to_ansi(bucket_name, input_key, output_key) 
    

     

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleIntroduction and Overview Microsoft 365 Admin Center
    Next Article Write for Us – Technology, Business & Marketing

    Related Posts

    Development

    Enhanced Queue Job Control with Laravel’s ThrottlesExceptions failWhen() Method

    September 2, 2025
    Artificial Intelligence

    Scaling Up Reinforcement Learning for Traffic Smoothing: A 100-AV Highway Deployment

    September 2, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    Deploy a full stack voice AI agent with Amazon Nova Sonic

    Machine Learning

    Apache CloudStack Vulnerability Let Attackers Perform Privileged Actions

    Security

    10 Ways Node.js Development Boosts AI & Real-Time Data (2025-2026 Edition)

    Tech & Work

    PSA: A 1TB microSD Express card has entered the market — I hope future handheld gaming PCs are compatible with this speedy storage option

    News & Updates

    Highlights

    CVE-2025-34510 – Sitecore Experience Manager (XM), Experience Platform (XP), and Experience Commerce (XC) Zip Slip Remote Code Execution

    June 17, 2025

    CVE ID : CVE-2025-34510

    Published : June 17, 2025, 7:15 p.m. | 1 hour, 14 minutes ago

    Description : Sitecore Experience Manager (XM), Experience Platform (XP), and Experience Commerce (XC) versions 9.0 through 9.3 and 10.0 through 10.4 are affected by a Zip Slip vulnerability. A remote, authenticated attacker can exploit this issue by sending a crafted HTTP request to upload a ZIP archive containing path traversal sequences, allowing arbitrary file writes and leading to code execution.

    Severity: 8.8 | HIGH

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    Good UX is not enough

    August 29, 2025

    I may have found the ultimate monitor for conferencing and productivity, but it has a few weaknesses

    June 2, 2025

    PanVK: il driver Vulkan open-source per GPU ARM Mali raggiunge la conformità Vulkan 1.1

    April 15, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.